我想从Listview中检索数据,其中我的列表有4个项目,如name,date,sem,category。
我想阅读列表视图中的文本并将其传递给另一个活动。
答案 0 :(得分:2)
如果要从服务器检索数据,则需要在项目单击ListView上获取项目。像
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String name =urarraylist.get(position).get("name");// here you have to pas keyname which is put inyour Hashmap arraylist
String category =urarraylist.get(position).get("category");
String date=urarraylist.get(position).get("date");
String sem=urarraylist.get(position).get("sem");
Intent i = new Intent(getBaseContext(),anotheractivity.class);
i.putExtra("name", name);
i.putExtra("category ", category );
i.putExtra("date", date);
i.putExtra("sem", sem);
startActivity(i);
}
});
现在在onCreate()方法的下一个Activity中检索此数据。像
Intent n = getIntent();
String name = n.getStringExtra("name");
String category = n.getStringExtra("category ");
String date= n.getStringExtra("date");
String sem= n.getStringExtra("sem");
答案 1 :(得分:1)
顾名思义,ListView
不包含数据,只包含Views
。这些视图通常是通过数组创建的,或List
通过Adapter
创建的。因此,您必须要求您的适配器检索数据。
不幸的是,没有默认方法,所以你必须创建自己的getter,或者你也可以循环使用ListView适配器上与getItem()
相关联的getCount()
方法。
答案 2 :(得分:1)
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String name=(String)parent.getItemAtPosition(position);
Intent i = new Intent(getBaseContext(),anotheractivity.class);
i.putExtra("USERNAME", name);
startActivity(i);
}
});
如果单击listview行,将获取相应位置的值并将其传递给intent并进一步传递给下一个activity。
神奇之处在于:
String name=(String)parent.getItemAtPosition(position);