Я реализовал NavigationDrawer, но в NavigationAdapter метод onItemSelected
не работает. Я предполагаю, что привязка слушателя к чему-то отсутствует. Я думаю, что у класса MainActivity
есть каждая часть, я просто не могу понять, где и как добавить onItemSelectedListener.
public class MainActivity extends WearableActivity {
private WearableNavigationDrawerView mWearableNavigationDrawer;
private static final SectionFragment.Section DEFAULT_SECTION = SectionFragment.Section.Main;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setAmbientEnabled();
mWearableNavigationDrawer = (WearableNavigationDrawerView) findViewById(R.id.top_navigation_drawer);
mWearableNavigationDrawer.setAdapter(new NavigationAdapter(this));
mWearableNavigationDrawer.getController().peekDrawer();
}
private final class NavigationAdapter
extends WearableNavigationDrawerView.WearableNavigationDrawerAdapter implements WearableNavigationDrawerView.OnItemSelectedListener {
private final Context mContext;
private SectionFragment.Section mCurrentSection = DEFAULT_SECTION;
NavigationAdapter(final Context context) {
mContext = context;
}
@Override
public String getItemText(int index) {
return mContext.getString(SectionFragment.Section.values()[index].titleRes);
}
@Override
public Drawable getItemDrawable(int index) {
return mContext.getDrawable(SectionFragment.Section.values()[index].drawableRes);
}
@Override
public void onItemSelected(int pos) {
SectionFragment.Section selectedSection = SectionFragment.Section.values()[pos];
// Only replace the fragment if the section is changing.
if (selectedSection == SectionFragment.Section.Main) {
setContentView(R.layout.activity_main);
} else {
setContentView(R.layout.activity_alarm);
}
mCurrentSection = selectedSection;
}
@Override
public int getCount() {
return SectionFragment.Section.values().length;
}
}
}