[英]how to pass data from activity to adapter?
我有 2 个活动。 Activity A包含recyclerview,Activity B准备将Arraylist数据传递给Acrivity A中的recyclerview。
我的适配器是这样的。
public MainAdapter(MainActivity context,ArrayList<MainData> list) {
this.context = context;
this.list = list;
}
和元数据。
public MainData(String tv_name, String tv_content) {
this.tv_name = tv_name;
this.tv_content = tv_content;
}
活动 A(接收 arraylist 数据):
recyclerView = (RecyclerView) findViewById(R.id.rv);
linearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(linearLayoutManager);
list = new ArrayList<>();
list = (ArrayList<MainData>)getIntent().getSerializableExtra("key");
adapter = new MainAdapter(this,list);
recyclerView.setAdapter(adapter);
A和通过Arraylist的Activity B:
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(upload.this, MainActivity.class);
ArrayList<MainData> list = new ArrayList<MainData>();
EditText edit = (EditText) findViewById(R.id.edittext_name);
String tv_name = edit.getText().toString();
EditText edit_main = (EditText) findViewById(R.id.edittext_main);
String tv_content = edit_main.getText().toString();
list.add(new MainData(tv_name,tv_content));
intent.putExtra("key", list);
startActivity(intent);
}
});
它抛出运行时异常。
您提供的上下文不完整,请查看 Android 指南。 如果您需要在活动之间传输数据,请查看本文在此输入链接描述
您应该使用 Intent extras 将数组列表从 ActivityB 传递到ActivityA
,并且在ActivityA
中您必须将列表传递给适配器,以便它在 recyclerView 上设置数据。
您不应该直接将数据从ActivityB
传递到AdapterA
的适配器
这可能会有所帮助: https://developer.android.com/reference/android/content/Intent
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.