Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TextView上的RecyclerView项目计数仅在重新进入活动时更新。如何使其实时更新_Java_Android - Fatal编程技术网

Java TextView上的RecyclerView项目计数仅在重新进入活动时更新。如何使其实时更新

Java TextView上的RecyclerView项目计数仅在重新进入活动时更新。如何使其实时更新,java,android,Java,Android,我希望在从recyclerview中删除一个项目后,文本视图立即更新。文本视图仅在我转到其他活动并返回到文本视图所在的活动时更新。 private void getTasks() { class GetTasks extends AsyncTask<Void, Void, List<Task>> { @Override protected List<Task> doInBackground(V

我希望在从recyclerview中删除一个项目后,文本视图立即更新。文本视图仅在我转到其他活动并返回到文本视图所在的活动时更新。

 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();
    } 
private void getTasks(){
类getTask扩展异步任务{
@凌驾
受保护列表背景(无效…无效){
List taskList=数据库客户端
.getInstance(getContext())
.getAppDatabase()
.taskDao()
.getAll();
返回任务列表;
}
@凌驾
受保护的void onPostExecute(最终列表任务){
super.onPostExecute(任务);
final TasksAdapter adapter=new TasksAdapter(getContext(),tasks);
totalGoals=adapter.getItemCount();
如果(tasks.size()>0){
adapter.notifyDataSetChanged();
introText.setVisibility(View.GONE);
}否则{
makeMeShake(introText,20,10);
introText.setVisibility(View.VISIBLE);
getTasks();
}
int countTrue=0;
对于(int i=0;i
我认为问题在于(数据设置)。请帮助我,因为我一直在努力寻找一个简单的解决办法,但到目前为止还没有找到任何解决办法

使用这个添加

      adapter.notifyDataSetChanged();
之后

把这个

recyclerView.setAdapter(adapter);
紧接着:

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

adapter.notifyDataSetChanged();----更改数据集后,只需将notifydatasetchanged放入即可删除


(在将适配器分配给RecycleView之后放置它)

put
notifydatasetchanged
在将适配器分配给RecycleView之后,没有解决它。我想在我从recyclerview中删除项目后立即更改它。像现在刷新活动一样,我正在更新textview.totalGoals=tasks.size();不走运的人仍然不刷新:(谢谢你的快速反应!
final TasksAdapter adapter = new TasksAdapter(getContext(), tasks);