如何在点击导航抽屉中的项目时打开一个新的 activity

How to open a new activity on click of items in Navigation Drawer

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

即如果单击导航抽屉中出现的项目,它应该打开一个新的 activity。

我尝试了以下方法,但不知道是否相同

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]);
    }        
      });
 } 
}

所以,如果有人能帮助我解决问题,我们将不胜感激。

我想你的 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);
}