首页 > 解决方案 > 如何在ui线程上刷新回收器视图

问题描述

我的应用程序中有一个回收器视图,我从用户那里获取值并将其存储在 SQLite 数据库中,然后这些值将通过检索显示在回收器视图中。问题是回收器视图仅在我重新打开我的活动时更新,所以我如何在不重新打开活动的情况下刷新回收器视图,我应该使用 UI 线程吗?图像: 插入项目后

重新打开活动后 ,当用户单击插入按钮时,我想在 recyclearview 上显示插入的项目

这是我的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText=findViewById(R.id.ed1);
        button=findViewById(R.id.INSERT);
        name=new ArrayList<>() ;
        id=new ArrayList<>();
        recyclerView=findViewById(R.id.res);
        database=new Database(MainActivity.this);

                button.setOnClickListener(v -> {
                    database.insert(editText.getText().toString().trim());//insert
                       adapter.notifyDataSetChanged();
   
                });

StoreDataInArray();//for store database data in array
adapter=new Adapter(name,id,MainActivity.this);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));

        }

标签: javaandroid

解决方案


你可以使用方法

runOnUiThread(new Runnable() {
    public void run() {
        adapter.notifyDataSetChanged();
    }
});

推荐阅读