This question already has answers here:
How to put a List in intent
                                
                                    (5个答案)
                                
                        
                3年前关闭。
            
        

我正在开发一个android应用程序,并且试图将数组发送到另一个意图。我想在列表视图中显示它们。

我怎样才能做到这一点?

我有2个问题。


如何发送它们以便以后显示给他们
如何通过列表视图显示数据。


在第一个活动中,当我注销数据时就可以了。

在第二个活动中,当我注销接收到的数据时,我得到了空值。
当我运行该应用程序时,请强制关闭。

java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference


第一次活动:

  List<String> myList = new ArrayList<String>(Arrays.asList(selectImages));


                    Intent intent = new Intent(Gallery.this,Upload.class);
                    intent.putExtra("mylist", selectImages);
                    startActivity(intent);


第二项活动:

public class Upload extends AppCompatActivity {
ListView listView;

ArrayAdapter<String> adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_upload);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    listView = (ListView) findViewById(R.id.list);

    Intent i = getIntent();
    ArrayList<String> list = i.getStringArrayListExtra("mylist");

   ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, android.R.id.text1, list);
    listView.setAdapter(adapter);
    Log.i("data","UPLOAD:"+list);
}}

最佳答案

采用

putParcelableArrayListExtra()


检查@乔迪·卡斯蒂利亚评论

编辑1

here是明确的示例

关于java - 发送带有 Intent putExtra的ArrayList ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38525855/

10-10 09:25
查看更多