如何将数据从一个 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?的主要内容,如果未能解决你的问题,请参考以下文章

如何将值从列表视图传递到 detalis Activity

android 怎么在activity之间传递List 类型的数据

Android 如何从 Main Activity 中的另一个类调用 Activity 数据类型?

Android如何成功截击请求,如何将数据从Activity传递到Fragment?

如何将值从基本适配器传递到 Android 中的 Activity

android - 将数据从 Activity 传递到 ViewPager 中的 Fragment