是什么触发了RecyclerView的notifyDataSetChanged函数?我遇到了执行迟到的问题

时间:2017-05-29 17:05:46

标签: java android

我正在开发一个简单的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

非常感谢您的阅读,希望任何答案都能帮助其他人更好地了解RecyclerView。并且也希望没有其他问题,因为我一直在寻找一段时间没有解决方案。

0 个答案:

没有答案