您的Navigation-drawer片段中必须有回调。这个回调接口应该在你的主要活动中实现。然后你可以重写onClick。
从抽屉式导航:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(
R.layout.fragment_navigation_drawer, container, false);
mDrawerListView = (ListView) rootView.findViewById(R.id.listView);
mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//A very basic callback, ideally you would want to perform null-checks
mCallbacks.onNavigationDrawerItemSelected(position);
}
});
回调接口:
public static interface NavigationDrawerCallbacks {
/**
* Called when an item in the navigation drawer is selected.
*/
void onNavigationDrawerItemSelected(int position);
void onNotificationClicked();
}
实现您的MainActivity这个接口:
public class MyActivity extends FragmentActivity implements
NavigationDrawerFragment.NavigationDrawerCallbacks,.......
最后Overrride的的onClick:
@Override
public void onNavigationDrawerItemSelected(int position) {
switch (position) {
case 0 : playMusicAndHandleClick();
}
}