如何从导航抽屉启动活动?
Posted
技术标签:
【中文标题】如何从导航抽屉启动活动?【英文标题】:How to launch activity from Navigation Drawer? 【发布时间】:2014-06-30 20:25:10 【问题描述】:所以我在这里搜索了有关导航抽屉的分配,当我被指向另一个人问题的答案中的教程时。我这样做了。
我成功地根据自己的喜好创建了导航抽屉并设置了样式。 但现在我一直在不知疲倦地寻找如何从导航抽屉中启动活动。我已经设法将一些代码放入 MainActivity 但单击该项目后它不会启动任何东西?所有活动都在清单中定义。我决定使用 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);
【问题讨论】:
【参考方案1】:像这样替换 this
和 MainActivity.this
:
Intent a = new Intent(MainActivity.this, AppInfo.class);
startActivity(a);
也改变一下
drawerListView.setOnItemClickListener(new DrawerItemClickListener());
替换
drawerListView.setOnItemClickListener(this);
在那里查看Custom Adapter
【讨论】:
drawerListView.setOnItemClickListener(this);当我添加时,有错误。另外,当我打开导航抽屉并触摸并按住一个项目时,它没有选择,这是一个问题吗?如果我放手,导航抽屉就会关闭【参考方案2】:Intent abc = new Intent(CurrentActivityName.this,TargetActivityName.class);
startActivity(abc);
这就是我一直这样做的方式,直接引用每个活动的名称。
【讨论】:
以上是关于如何从导航抽屉启动活动?的主要内容,如果未能解决你的问题,请参考以下文章