我是android开发的新手,并且按预期在导航抽屉中发现了一些困难,所以我想通过单击导航抽屉左窗格中显示的项目来打开一个新活动。
即,如果单击该项目出现在导航抽屉中,则应打开一个新活动。
我尝试了以下内容,但对相同内容一无所知
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);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句