Android SDK-ListView,根据单击的行启动不同的意图
android开发新手,我正在将我的iOS应用程序移植到android上。在我的应用程序中,我使用ListView,这非常有效。这是我到目前为止所拥有的,它在一个tabwidget中Android SDK-ListView,根据单击的行启动不同的意图,android,listview,sdk,onitemclicklistener,Android,Listview,Sdk,Onitemclicklistener,android开发新手,我正在将我的iOS应用程序移植到android上。在我的应用程序中,我使用ListView,这非常有效。这是我到目前为止所拥有的,它在一个tabwidget中 setListAdapter(new ArrayAdapter<String> (this, R.layout.row_style, ITEMS)); ListView lv = getListView(); lv.setTextFilterEnabled(true); sta
setListAdapter(new ArrayAdapter<String> (this, R.layout.row_style, ITEMS));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
static final String[] ITEMS = new String[] {
"Apple", "Google", "Hewlett Packard", "Adobe"
};
setListAdapter(新的ArrayAdapter(这个,R.layout.row_样式,ITEMS));
ListView lv=getListView();
lv.setTextFilterEnabled(真);
静态最终字符串[]项=新字符串[]{
“苹果”、“谷歌”、“惠普”、“Adobe”
};
注意,ITEMS字符串数组只是虚拟数据。现在我的问题是,如果用户点击苹果,我想启动一个名为AppleActivity的活动。我怎么能和一个听者在一起呢。在iphonesdk中,我可以调用
if(objectAtIndex==0)
我能同时做点什么吗?希望你们能帮忙
乔纳斯:)
注意,ITEMS字符串数组只是虚拟数据。现在我的问题是,如果用户点击苹果,我想启动一个名为AppleActivity的活动。我怎么能和一个听者在一起呢。在iphonesdk中,我可以调用
if(objectAtIndex==0)
我能同时做点什么吗?希望你们能帮忙
乔纳斯:)是的,你可以,你会有这样的东西 ->您在之后设置适配器
yourList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
//arg2 represents the position , the eletement at arg 2 that is clicked
if (arg2==1) startActivity (new Intent ("blabla"));
if(arg2==2) startActivity (new Intente("Adobeeee"));
}
yourList.setOnItemClickListener(新的OnItemClickListener(){
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
//arg2表示位置,即在arg2处单击的元素
如果(arg2==1)开始活动(新意图(“blabla”);
如果(arg2==2)开始活动(新意图(“Adobeee”);
}
这是因为您正在尝试启动适配器,而活动类必须是意图构造函数的第二个参数。此外,此活动必须在清单文件中描述。lv.setOnItemClickListener(new OnItemClickListener()){
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
if (position == 0) {
Intent algebra = new Intent(v.getContext(), AlgebraListViewController.class);
startActivity(algebra);
}
else if (position == 1) {
Intent oekonomi = new Intent(v.getContext(), OekonomiListViewController.class);
startActivity(oekonomi);
}
}
});
public void onItemClick(AdapterView父视图、视图v、整型位置、长id){
如果(位置==0){
意向代数=新意向(v.getContext(),AlgebraListViewController.class);
星触觉(代数);
}
否则如果(位置==1){
Intent oekonomi=新Intent(v.getContext(),OekonomiListViewController.class);
星触觉(oekonomi);
}
}
});
这应该可以正常工作,重命名变量以便知道它们是什么(而不是arg0、arg1、arg2和arg3).下面的答案部分非常混乱。Jonas,你可以在答案中添加注释,而不是对另一个答案的响应。我抓取了你放在那里的代码,添加了适当的变量名,它应该可以满足你的需要。