监听List列表跳转问题,点列表1跳转到1个activity,点列表2跳到activity2 本帖最后由 qq81819999 于 2013-04-17 15:11:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据positon来判断。position == 0跳转第一个 等于1跳转第二个 switch (position) { case 1: //跳转逻辑 break; case 2: //跳转逻辑 break; }以此类推 LS说的基本是对的 前提条件是你的ListView列表需是固定不变的~ 可以参考下如下代码package com.tarena.android;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.AdapterView.OnItemClickListener;import com.tarena.android.entity.Student;public class ListViewTest extends Activity{ private ListView lv; private List<Student> stus; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); stus=new ArrayList<Student>(); stus.add(new Student(1001,"zhangsan",20,85)); stus.add(new Student(1002,"lisi",21,87.5)); stus.add(new Student(1003,"wangwu",22,88)); stus.add(new Student(1004,"zhaoliu",20,75)); stus.add(new Student(1005,"qianqi",21,97.5)); stus.add(new Student(1006,"liuba",22,68)); setContentView(R.layout.list_view_test); lv=(ListView)findViewById(R.id.list_view_01); List<Map<String,Object>> data=new ArrayList<Map<String,Object>>(); for(int i=0;i<stus.size();i++){ Map<String,Object> map=new HashMap<String,Object>(); map.put("s_id", stus.get(i).getId()); map.put("s_name", stus.get(i).getName()); map.put("s_age", stus.get(i).getAge()); map.put("s_score", stus.get(i).getScore()); data.add(map); } SimpleAdapter adapter=new SimpleAdapter(this,data,R.layout.list_view_item_02,new String[]{"s_id","s_name","s_age","s_score"},new int[]{R.id.s_id_text_2,R.id.s_name_text_2,R.id.s_age_text_2,R.id.s_score_text_2}); lv.setAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Intent it=new Intent(ListViewTest.this,StudentDescribeActivity.class); it.putExtra("student", stus.get(arg2)); startActivity(it); } }); } } position == 0时处理跳转 不明白你所指的列表改变是什么意思,即使往下拉listview position 也是固定的吧? 在2.3中测试通过的屏幕翻转在4.1上出BUG 修改了frameworks/base/core/res/res/drawable下的xml文件,但是不知道如何快速编译 android平台PPT开发 dialog位置的设置 新网互联招聘Android 开发高级工程师 请教修改系统源码问题 android网络应用的奇怪问题 Handler更新ListVie No implementation found for void 报错 android studio HelloWrod过不去呀 从serivce中使用SurfaceView(没有activity)
switch (position) {
case 1:
//跳转逻辑
break;
case 2:
//跳转逻辑
break;
}以此类推
LS说的基本是对的 前提条件是你的ListView列表需是固定不变的~
可以参考下如下代码package com.tarena.android;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;import com.tarena.android.entity.Student;public class ListViewTest extends Activity{
private ListView lv;
private List<Student> stus; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
stus=new ArrayList<Student>();
stus.add(new Student(1001,"zhangsan",20,85));
stus.add(new Student(1002,"lisi",21,87.5));
stus.add(new Student(1003,"wangwu",22,88));
stus.add(new Student(1004,"zhaoliu",20,75));
stus.add(new Student(1005,"qianqi",21,97.5));
stus.add(new Student(1006,"liuba",22,68));
setContentView(R.layout.list_view_test);
lv=(ListView)findViewById(R.id.list_view_01);
List<Map<String,Object>> data=new ArrayList<Map<String,Object>>();
for(int i=0;i<stus.size();i++){
Map<String,Object> map=new HashMap<String,Object>();
map.put("s_id", stus.get(i).getId());
map.put("s_name", stus.get(i).getName());
map.put("s_age", stus.get(i).getAge());
map.put("s_score", stus.get(i).getScore());
data.add(map);
}
SimpleAdapter adapter=new SimpleAdapter(this,data,R.layout.list_view_item_02,new String[]{"s_id","s_name","s_age","s_score"},new int[]{R.id.s_id_text_2,R.id.s_name_text_2,R.id.s_age_text_2,R.id.s_score_text_2});
lv.setAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener(){ @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent it=new Intent(ListViewTest.this,StudentDescribeActivity.class);
it.putExtra("student", stus.get(arg2));
startActivity(it);
}
});
}
}
不明白你所指的列表改变是什么意思,即使往下拉listview position 也是固定的吧?