我在 Google 的 Navigation Drawer 中遇到了这个问题,其中在我的 selectItem 方法中启动第一个案例(案例 0)中指定的 Activity 会中断并返回到前一个 Activity 。
private class DrawerItemClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
selectItem(position);
}
}
private void selectItem(int position) {
switch(position) {
case 0:
// Placing any startActivity here will load the activity
// but immediately return to the calling activity.
parent.startActivity(new Intent(parent, Dashboard.class));
break;
case 1:
parent.startActivity(new Intent(parent, Card.class));
break;
}
}
但是如果我放
mDrawerLayout.closeDrawer(mDrawerList);
或任何其他代码,它会正常工作。当被调用的 Activity 关闭并且没有抛出异常时,没有报告错误。有什么想法吗?
最佳答案
我尝试重现此内容,但无法解析父级。你有没有在其他地方声明过?
你在 Activity 和 fragment 中使用什么类可以使用 startActivity() 而不需要 parent.startActivity()
可以发完整的课吗?
这对我有用。
private void selectItem(int position) {
switch (position) {
case 0:
// goto home screen
Log.d(TAG, "Showing Home");
startActivity(new Intent(this, SettingsActivity.class));
break;
case 1:
// Show Editor
Log.d(TAG, "Showing Editor");
break;
default:
break;
}
}
关于java - 在 selectItem 的第一种情况下使用 startActivity 时,抽屉导航不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18247256/