我设法将文本添加到ListView,但我想将ListView数据传递给另一个活动中的TextView,方法是单击按钮'按钮'。我不知道如何使用Serializable或Parcelable通过Listview传递数据。 Layout Screenshot
public void onClick(查看v){
switch (v.getId ()) {
case R.id.btnAdddata:
String result = editText.getText ().toString ();
arrayList.add(result); //add text from edittext to list
adapter.notifyDataSetChanged (); //update arraylist and notify adapter
break;
case R.id.btnNext:
Intent i = new Intent (MainActivity.this, NextActivity.class);
i.putExtra("key", (Serializable) listView_lv);
startActivity (i);
break;
}
}
答案 0 :(得分:0)
这仍然需要您实现parcelable(如果使用自定义对象)。如果您进行快速谷歌搜索,有关于如何执行此操作的指南!
这是一个使用字符串ArrayList的示例!
ArrayList<String> myData = new ArrayList<>();
for(int i = 0; i < listView.getAdapter().getCount(); i++) {
myData.add(listView.getAdapter().getItem(i));
}
Intent intent = new Intent(CurrentActivity.this, NewActivity.class);
intent.putStringArrayListExtra("myData", myData);
// Or use this for a list of custom objects, but the custom objects need to implement Parcelable - Google this to find out more!
intent.putParcelableArrayListExtra("myData", myData);
startActivity(intent);