如何将数据从一个 Activity 中的 ListView 传递到另一个 Activity 上的 TextView?
Posted
技术标签:
【中文标题】如何将数据从一个 Activity 中的 ListView 传递到另一个 Activity 上的 TextView?【英文标题】:How to pass data from ListView in one Activity to a TextView which is found on another Activity? 【发布时间】:2018-11-15 10:55:34 【问题描述】:我设法将文本添加到 ListView,但我想通过单击按钮“按钮”将 ListView 数据传递到另一个活动中的 TextView。我不知道如何使用 Serializable 或 Parcelable 通过 Listview 传递数据。 Layout Screenshot
public void onClick(View 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;
【问题讨论】:
你的对象是什么样子的? 【参考方案1】:这仍然需要您实现 parcelable(如果使用自定义对象)。如果您进行快速的 google 搜索,会有关于如何执行此操作的指南!
这是一个仅使用字符串 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);
【讨论】:
以上是关于如何将数据从一个 Activity 中的 ListView 传递到另一个 Activity 上的 TextView?的主要内容,如果未能解决你的问题,请参考以下文章
android 怎么在activity之间传递List 类型的数据
Android 如何从 Main Activity 中的另一个类调用 Activity 数据类型?
Android如何成功截击请求,如何将数据从Activity传递到Fragment?