回收器查看项目计数 文本视图仅在重新进入活动时更新.如何使其实时更新



我希望更新文本视图 一旦我从回收器视图中删除一个项目。 仅当我转到另一个活动并返回到文本视图所在的活动时,文本视图才会更新。

private void getTasks() {
class GetTasks extends AsyncTask<Void, Void, List<Task>> {
@Override
protected List<Task> doInBackground(Void... voids) {
List<Task> taskList = DatabaseClient
.getInstance(getContext())
.getAppDatabase()
.taskDao()
.getAll();
return taskList;
}
@Override
protected void onPostExecute(final List<Task> tasks) {
super.onPostExecute(tasks);
final TasksAdapter adapter = new TasksAdapter(getContext(), tasks);
totalGoals =  adapter.getItemCount();

if (tasks.size() > 0) {
adapter.notifyDataSetChanged();
introText.setVisibility(View.GONE);
} else {
makeMeShake(introText, 20, 10);
introText.setVisibility(View.VISIBLE);
getTasks();
}
int countTrue = 0 ;
for(int i = 0; i < tasks.size();i++){
// System.out.println("BOOLEANS" + "  :"+i+": "+tasks.get(i).isFinished() + " :" +tasks.size());
if(tasks.get(i).isFinished()) {
countTrue++;
}
}
/* if (tasks.size() != 0) {
SharedPreferences sp = getActivity().getSharedPreferences("your_prefs", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putInt("gCount", countTrue);
editor.apply();
}*/
System.out.println("True Items" + countTrue);
goalProgress.setText(MessageFormat.format("({0} out of {1})",
String.valueOf(countTrue), totalGoals));
adapter.notifyDataSetChanged();
recyclerView.setAdapter(adapter);
recyclerView.invalidate();
}
}
GetTasks gt = new GetTasks();
gt.execute();
} 

我认为问题出在(数据集更改(。请帮助我,因为我一直在努力寻找一个简单的解决方案,直到现在都找不到。

使用这个添加

adapter.notifyDataSetChanged();

recyclerView.setAdapter(adapter);

把这个

recyclerView.setAdapter(adapter);

紧接着:

final TasksAdapter adapter = new TasksAdapter(getContext(), tasks);

adapter.notifyDataSetChanged((; ----您可以删除

只需在数据集更改输入notifydatasetchanged

(废话说完,将适配器分配给回收器视图后再放(

最新更新