[英]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.