4

我在 Google 的 Navigation Drawer 中遇到了这个问题,在我的 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);或任何其他代码,它将正常工作。

被调用的activity关闭时没有报错,也没有抛出异常。有什么想法吗?

4

1 回答 1

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;

    }

}
于 2013-08-22T18:28:51.667 回答