I am new to Android and learning to create fragments in Android by following this
example: Fragment Navigation DrawerThe code between Navigating between Menu Items and Add Navigation Header consists a method
getActivity()
.As the author didn't mentioned where to paste this code, I pasted in my
MainActivity.java
fileIs code between Navigating between Menu Items and Add Navigation Header pasted at correct location by me?
In method
selectDrawerItem(MenuItem menuItem)
there is a comment// Create a new fragment and specify the planet to show based on position
Does author expects me to add something over here.- The project files layout created by me on AndroidStudio is as follow:AndroidStudio Snapshot
You can use:
this Or `MainActivity.this`
Instead of:
getActivity()
An Activity has no getActivity()
method.
Fragments have.
Because getActivity()
says: "return the Activity which contains me".
And while Framents are contained in Activities, Activities themselves aren't.
In Fragment it is best to use onAttach() method to get the instance of an Activity attached to it.
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
}
来源:https://stackoverflow.com/questions/32527199/cannot-resolve-method-getactivity