使用intent putExtra发送ArrayList

时间:2016-07-22 11:56:40

标签: java android android-intent

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

我怎么能做到这一点?

我有两个问题。

  1. 如何发送它们以便以后能够显示它们

  2. 如何通过listview显示数据。

  3. 在第一项活动中,当我注销数据时,没关系。

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

    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);
    }}
    

1 个答案:

答案 0 :(得分:2)

使用

putParcelableArrayListExtra()

检查@ Jordi Castilla评论

编辑1

here是明确的例子