您有一个ArrayList例如:
list = new ArrayList<Obj>();
list.add(new Obj(R.drawable.img, "string", "na, na, na"));
list.add(new Obj(R.drawable.ima2, "string 2", "Na, na, na"));
list.add(new Obj(R.drawable.img3, "string 3", "Na, na, na"));
...
此List膨胀为一个RecyclerView
。
单击RecyclerView
项目时,我只想将单击的列表元素传递给另一个活动,而不是整个列表。
我该怎么做?
到目前为止,这是我尝试过的:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener(new ItemClickSupport.OnItemClickListener(){
@Override
public void onItemClicked(RecyclerView recyclerView, int position, View v) {
Intent intent = new Intent(ChordsListActivity.this, ChordActivity.class);
intent.putExtra("selected", list);
startActivity(intent);
}
});
如何将单个ArrayList元素传递给另一个Activity
要将自定义对象传递到下一个活动,请执行以下操作:
1.确保自定义对象类实现Serializable
或Parcelable
(建议使用)接口。
2.Bundle.putSerializable
如果实现则使用,Serializable
或者Bundle.putParcelable
如果实现Parcelable
接口则使用。
使用可序列化:
Bundle bundle=new Bundle();
bundle.putSerializable("selected", chords.get(position));
intent.putExtras(bundle);
3.在下一个活动中,Bundle. getSerializable
用于获取所选对象:
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
Obj selectedObj=(Obj)bundle.getSerializable("selected");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句