在第一种selectItem情况下使用startActivity时导航抽屉不工作

时间:2013-08-15 06:14:27

标签: java android slidingdrawer

我在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);或任何其他代码,它将正常工作。

关闭被调用活动时不会报告错误,也不会抛出异常。有什么想法吗?

1 个答案:

答案 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;

    }

}