Android 如何使用OnItemClickListener根据单击的项目启动新的意图?
我希望能够使用Intent类启动新的活动。我知道如何使用以下代码行启动活动:Android 如何使用OnItemClickListener根据单击的项目启动新的意图?,android,string,listview,listviewitem,onitemclicklistener,Android,String,Listview,Listviewitem,Onitemclicklistener,我希望能够使用Intent类启动新的活动。我知道如何使用以下代码行启动活动: Intent myIntent = new Intent(v.getContext(), bylocationactivity.class); startActivityForResult(myIntent, 0); 但是如何指定已单击的项目?所以当我点击“按位置”时,我可以启动bylocationactivity.class等等 public class bonesactivity extends Activit
Intent myIntent = new Intent(v.getContext(), bylocationactivity.class);
startActivityForResult(myIntent, 0);
但是如何指定已单击的项目?所以当我点击“按位置”时,我可以启动bylocationactivity.class等等
public class bonesactivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
ListView boneslist;
String categorieslist[]={"Alphabetically","By Location","Specialty Tests"};
super.onCreate(savedInstanceState);
setContentView(R.layout.boneslayout);
boneslist=(ListView)findViewById(R.id.boneslayout);
boneslist.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , categorieslist));
boneslist.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
}
});
}
}
公共类bonesactivity扩展活动
{
创建时的公共void(Bundle savedInstanceState)
{
ListView骨骼列表;
字符串分类列表[]={“按字母顺序”、“按位置”、“专业测试”};
super.onCreate(savedInstanceState);
setContentView(R.layout.boneslayout);
boneslist=(ListView)findViewById(R.id.boneslayout);
setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,categorieslist));
setOnItemClickListener(新的OnItemClickListener()
{
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
}
});
}
}
您可以使用onItemClick
中的位置
参数从categoriesList数组中获取所需的字符串。因此:
String category = categoriesList.get(position);
不过,可能必须使categoriesList成为一个成员变量。@Override
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = null;
switch(position) {
case 1:
intent = new Intent(getApplicationContext(), Activity2.class);
startActivity(intent);
break;
case 2:
intent = new Intent(getApplicationContext(), Activity3.class);
startActivity(intent);
break;
default:
}
}
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
意向=无效;
开关(位置){
案例1:
intent=newintent(getApplicationContext(),Activity2.class);
星触觉(意向);
打破
案例2:
intent=newintent(getApplicationContext(),Activity3.class);
星触觉(意向);
打破
违约:
}
}
})) 演示多个按钮的单个MClick Listner的代码 您可以将其作为项目使用 //单击所有6个按钮的侦听器
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//int clickedButtonIs;
if (v == button1)
{
// call intent 1;
}
else if (v == button2)
{
// call intent 2;
}
else if (v == button3)
{
// call intent 3;
}
else if (v == button4)
{
// call intent 4;
}
else if (v == button5)
{
// call intent 5;
}
else if (v == button6)
{
// call intent 6;
}
}
可以声明一次
startActivity
,使其更干净。