通过Intent传递ArrayList

通过Intent传递ArrayList

我试图使用意图将arrayList传递给另一个活动。这是第一个活动中的代码。


case R.id.editButton:

        Toast.makeText(this, "edit was clicked", Toast.LENGTH_LONG).show();

        Intent intent = new Intent(this, editList.class);

        intent.putStringArrayListExtra("stock_list", stock_list);

        startActivity(intent);

        break;

这是我尝试在第二个活动中检索列表的地方。这里有问题吗?


Intent i = new Intent(); //This should be getIntent();

    stock_list = new ArrayList<String>();


    stock_list = i.getStringArrayListExtra("stock_list");


森栏
浏览 650回答 3
3回答

浮云间

在您的接收意图中,您需要做:Intent&nbsp;i&nbsp;=&nbsp;getIntent();&nbsp;&nbsp;stock_list&nbsp;=&nbsp;i.getStringArrayListExtra("stock_list");你拥有它的方式你刚刚创建了一个新的空意图而没有任何额外的东西。如果你只有一个额外的,你可以将其浓缩为:stock_list&nbsp;=&nbsp;getIntent().getStringArrayListExtra("stock_list");

跃然一笑

如果你使用通用数组列表与类而不是像&nbsp;特定类型EX:private&nbsp;ArrayList<Model>&nbsp;aListModel&nbsp;=&nbsp;new&nbsp;ArrayList<Model>();这里,Model = Class接收意图如下:aListModel&nbsp;=&nbsp;(ArrayList<Model>)&nbsp;getIntent().getSerializableExtra(KEY);必须记住:这里Model-class必须实现如下:&nbsp;ModelClass实现Serializable
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android