Android 如何单击导航抽屉中的项目打开新活动

Android 如何单击导航抽屉中的项目打开新活动,android,android-fragments,navigation-drawer,Android,Android Fragments,Navigation Drawer,我是android开发的新手,正如预期的那样,我发现导航抽屉有一些困难,我想通过单击导航抽屉左窗格中显示的项目来打开一个新的活动 i、 e如果单击导航抽屉中出现的项目,则应打开一个新活动 我试过以下方法,但对同样的方法一无所知 package com.example.demo_data1; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.su

我是android开发的新手,正如预期的那样,我发现导航抽屉有一些困难,我想通过单击导航抽屉左窗格中显示的项目来打开一个新的活动

i、 e如果单击导航抽屉中出现的项目,则应打开一个新活动

我试过以下方法,但对同样的方法一无所知

package com.example.demo_data1;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class NavDrawer extends Activity {
   String[] menu;
   DrawerLayout dLayout;
   ListView dList;
   ArrayAdapter<String> adapter;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
 setContentView(R.layout.third_page);
    menu = new String[]{"Home","Android","Windows","Linux","Raspberry Pi","WordPress","Videos","Contact Us"};
      dLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
      dList = (ListView) findViewById(R.id.drawerList);
      adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,menu);
      dList.setAdapter(adapter);
      dList.setSelector(android.R.color.holo_blue_dark);
      dList.setOnItemClickListener(new OnItemClickListener(){
    @Override
    public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
      dLayout.closeDrawers();
      Bundle args = new Bundle();
      args.putString("Menu", menu[position]);
    }        
      });
 } 
}
package com.example.demo_data1;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.v4.widget.DrawerLayout;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
公共类活动{
字符串[]菜单;
抽屉式布局;
列表视图数据列表;
阵列适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局,第三页);
菜单=新字符串[]{“主页”、“Android”、“Windows”、“Linux”、“树莓皮”、“WordPress”、“视频”、“联系我们”};
dLayout=(抽屉布局)findViewById(R.id.DroperLayout);
dList=(ListView)findViewById(R.id.drawerList);
adapter=newarrayadapter(这是android.R.layout.simple\u list\u item\u 1,菜单);
dList.setAdapter(适配器);
dList.setSelector(android.R.color.holo_blue_dark);
dList.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView arg0,视图v,内部位置,长id){
dLayout.closeDrawers();
Bundle args=新Bundle();
args.putString(“菜单”,菜单[位置]);
}        
});
} 
}

因此,任何能够帮助我解决问题的人都将不胜感激。

我想您的
onItemClick()
方法应该定义为

@Override
public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
  dLayout.closeDrawers();
  Bundle args = new Bundle();
  args.putString("Menu", menu[position]);
  Intent i = new Intent(NavDrawer.this, SecondActivity.class);
  switch(position){
      case 0:
         i = new Intent(NavDrawer.this, Activity1.class);
         break;
      case 1:
         i = new Intent(NavDrawer.this, Activity2.class);
         break;
         ...
         ...
  }
  i.putExtra(args);
  startActivity(i);
} 
@覆盖
public void onItemClick(AdapterView arg0,视图v,内部位置,长id){
dLayout.closeDrawers();
Bundle args=新Bundle();
args.putString(“菜单”,菜单[位置]);
意图i=新意图(NavDrawer.this,SecondActivity.class);
开关(位置){
案例0:
i=新意图(NavDrawer.this,Activity1.class);
打破
案例1:
i=新意图(NavDrawer.this,Activity2.class);
打破
...
...
}
i、 putExtra(args);
星触觉(i);
} 

到底是什么问题?你有你的onItemClick方法,为什么不把你的代码放在那里呢?选择“”。你会发现导航抽屉的一步一步的程序和解释问题是我想在点击不同的项目时打开不同的活动你能帮我了解必要的逻辑吗,我不太了解android编程。嘿,谢谢你的快速回复,但是如果我想在不同的项目上打开不同的活动,请单击程序是什么??很抱歉给您带来麻烦,我对此一无所知。您可以使用
开关
-
案例
块并使用
位置
变量来启动不同的活动。请参阅编辑后的回答谢谢您提供的解决方案。当新活动开始时,这只是一个小小的帮助。它还应显示与主活动中相同的导航抽屉。完成向上投票后,请帮助我进行更新。您的问题的答案取决于具体情况。若你们的老板或项目经理告诉你们第二项活动也必须有导航抽屉,那个么就这样做。但若我是你们,我只会把导航抽屉放在第一个活动中。