我在Google的导航抽屉中遇到此问题,我在selectItem方法中启动第一种情况(案例0)中指定的活动会中断并返回上一个活动。
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);
或任何其他代码,它将正常工作。
关闭被调用活动时不会报告错误,也不会抛出异常。有什么想法吗?
答案 0 :(得分:0)
我尝试重现这个并且它不会解析父母。你在其他地方宣布了吗?
您在活动和片段中使用此类的哪个类可以使用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;
}
}