我正在开发一个简单的Android应用程序,而RecyclerView一直是我最大的障碍之一。
我已经用卡片(代表人物)填充了RecyclerView,并且每张卡片中都有一堆EditText
个。
为了防止不断重新填充RecyclerView,我将编辑后的值(编辑时)存储到数组中,而不是在编辑时调用notifyDataSetChanged
。
调用onBindViewHolder
时,数据将从阵列中更新。
点击按钮后,我将使用notifyDataSetChanged
最后一次更新数据并启动另一项活动,发送最新的人员数据。
//refesh data and get latest data
pa.notifyDataSetChanged();
PersonResponse personResponse = new PersonResponse(pa.getPersonList());
//go to activity, send the Gson string with the data.
Intent GoToResultActivityIntent = new Intent(MainActivity.this, ResultActivity.class);
Gson gson = new Gson();
GoToResultActivityIntent.putExtra("personListGson", gson.toJson(personResponse));
startActivity(GoToResultActivityIntent);
但是,onBindViewHolder
仅在执行startActivity
后调用,这不是理想的情况。我希望在startActivity
之前调用它。有没有理由说适配器在函数之后才调用它?也许是因为列表不“可见”?有没有办法强制onBindViewHolder
?