我正在尝试将List<Question>
发送到其他活动,但收到错误“ java.util.ArrayList无法转换为android.os.Parcelable”。
第一活动
List<Question> list;
list = response.body().items;
Intent myIntent = new Intent(SearchActivity.this, RestaurantActivity.class);
myIntent.putExtra("restaurants", (Parcelable) list);
SearchActivity.this.startActivity(myIntent);
第二活动
Intent intent = getIntent();
List<Question> restaurants = intent.getExtras().getParcelable("restaurants");
textView = (TextView)findViewById(R.id.textView);
textView.setText(restaurants.get(0).title);
问题是什么?
最佳答案
它不起作用的原因是ArrayList
本身未实现Parcelable
接口。但是,某些Android类(如Intent
和Bundle
)已设置为处理ArrayList
,只要它们包含的实例属于确实实现Parcelable
的类。
因此,尝试使用putExtra
方法代替putParcelableArrayListExtra
。
您需要在另一侧使用get getParcelableArrayListExtra
。
请注意,这仅适用于ArrayList
,并且Question
类将需要实现Parcelable
。
关于android - 尝试将List对象发送到另一个 Activity ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40577041/