我在使用Sqlite的android中的itemclick监听器遇到麻烦,我从sqlite数据库获取数据,我需要使用onitemclick监听器将相同的arraylist传递给下一个活动。但是它无效。
contactList.clear();
String query = "SELECT * FROM MessageTable WHERE userID = '" + userid +"'";
System.out.println("queryinsert="+query);
Cursor c1 = sqlHandler.selectQuery(query);
if (c1 != null && c1.getCount() != 0) {
if (c1.moveToFirst()) {
do {
ContactListItems contactListItems = new ContactListItems();
contactListItems.setSlno(c1.getString(c1.getColumnIndex("ID")));
contactListItems.setmessage(c1.getString(c1.getColumnIndex("message")));
contactList.add(contactListItems);
} while (c1.moveToNext());
}
}
c1.close();
}
这里是arraylist ArrayList<ContactListItems> contactList
我存储sqlite数据,我需要在每次点击时将数据传递到下一个,任何人都可以指导我。@ Thanks
答案 0 :(得分:0)
overView onClick侦听器ListView http://www.mkyong.com/android/android-listview-example/
你可以使用bundle,你也可以使用另一个具有ArrayList contactList变量的类,并在listview中单击row的retrive id并使用bundle传递该id,然后你就去了
答案 1 :(得分:0)
如果你想用Cursor填充你的实体类,你应该使用for语句,现在你只得到你的Cursor中的第一行并重新实现你的类
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext())
{
}
并为您的列表监听器使用:
YourList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
}});
编辑:这是您将arraylist放入意图的代码
intent.putStringArrayListExtra("Tets",YourArrayList);
答案 2 :(得分:0)
尝试使用这个。您可以使用Serializable接口传递类的ArrayList。检查以下代码。
1) you have to implement Serializable interface in your ContactListItems class like
public class ContactListItems implements Serializable {
}
2) Pass arraylist of ContactListItems via intent:
Intent intent = new Intent(YourCurrentActivity.this, DestinationActivity.class);
intent.putExtra("ContactListData", arrayListData); // here arrayListData is the object of ArrayList<ContactListItems>
startActivity(intent);
3) get Intent of ArrayList containing ContactListItems class:
ArrayList<ContactListItems> contactListData;
Bundle extras = getIntent().getExtras();
if (extras != null) {
contactListData = (ArrayList<ContactListItems>) extras
.getSerializable("ContactListData");
}
希望它会对你有所帮助。