如何从Navigation Drawer启动活动?

时间:2014-05-13 08:46:10

标签: android eclipse class android-fragments navigation

所以我在这里搜索了关于导航抽屉的分配,当我在另一个人的问题中指出答案的教程时。我这样做了。

我成功地设法根据自己的喜好创建和设置导航抽屉。 但是现在我一直在不知疲倦地搜索如何从导航抽屉中发射活动。我已经设法在MainActivity中获得了一些代码,但点击该项后它没有启动任何东西?所有活动都在Manifest中定义。我决定使用Toasts作为追踪和错误,但仍然没有运气。

这是我的导航抽屉和启动活动的代码。

// Drawer Activity        
// Get list items from strings.xml
drawerListViewItems = getResources().getStringArray(R.array.items);

// Get ListView defined in activity_main.xml
drawerListView = (ListView) findViewById(R.id.left_drawer);

// Set the adapter for the list view
drawerListView.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_listview_item, drawerListViewItems));
// Run Activity from drawer
drawerListView.setOnItemClickListener(new DrawerItemClickListener());

这是我的DrawerItemClickListener方法

private class DrawerItemClickListener implements ListView.OnItemClickListener {

    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

    switch(position) {
      case 0:
          Intent a = new Intent(this, AppInfo.class);
              startActivity(a);
      break;
      case 1:
          Intent b = new Intent(getBaseContext(), WelcomeActivity.class);
           startActivity(b);
            }
        }
  }

2 个答案:

答案 0 :(得分:3)

this替换为MainActivity.this,如下所示:

Intent a = new Intent(MainActivity.this, AppInfo.class);
startActivity(a);

同样改变

drawerListView.setOnItemClickListener(new DrawerItemClickListener());

替换

drawerListView.setOnItemClickListener(this);

检查Custom Adapter

答案 1 :(得分:1)

Intent abc = new Intent(CurrentActivityName.this,TargetActivityName.class);
startActivity(abc);

这就是我一直在做的,直接引用每个活动名称。