Android 如何使用SqlDatabase刷新ArrayList中的单个项?

Android 如何使用SqlDatabase刷新ArrayList中的单个项?,android,arraylist,android-recyclerview,android-sqlite,refresh,Android,Arraylist,Android Recyclerview,Android Sqlite,Refresh,我有这样的想法: MainActivity-->RecyclerView-->Recycler\u adpeter.class-->BackgroundTask.class 在BackgroundTask.class中,我将SQLDatabase中的数据放入ArraList datalist=new ArraList() 当我在Recyclerview中按edit按钮时,我将进入下一个活动,编辑数据,然后按save按钮更新我的SqlDatabase,然后返回MainActivity.class中

我有这样的想法: MainActivity-->RecyclerView-->Recycler\u adpeter.class-->BackgroundTask.class
在BackgroundTask.class中,我将SQLDatabase中的数据放入
ArraList datalist=new ArraList()
当我在Recyclerview中按
edit按钮时,我将进入下一个活动,编辑数据,然后按
save按钮更新我的SqlDatabase,然后返回MainActivity.class中的我的
Recyclerview
问题在于Recyclerview中的数据。它不是刷新,而是显示旧数据。仅当我退出活动并再次打开它时,新数据才可见。
我想在按下
SecondActivity.class中的
save按钮后刷新数据。(在MainActivity中使用onActivityResult)。
我不想刷新整个数组,只想刷新带有
mAdapter.notifyItemChanged(位置)的单个项目

怎么做

我尝试在MainActivity中实现
onActivityResult
,但当我传递数组的位置并调用
mAdapter.notifyItemChanged(位置)时什么都没有发生。我必须将数据放入数组(知道它),我会这样做:

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        int postion2 = data.getIntExtra("result",default:0);
        int amount = data.getIntExtra("key2", default:0);
                Custom_Object item = new Custom_Object();
                item.setAmount(amount);
                database_list.set(position2,item); <-- (in second parameter) It forces me "custom_object element"
                mAdapter.notifyItemChanged(position2);
    }
  Custom_Object item = new Custom_Object();
                item.setAmount(amount);
item.setName(); <-- I should copy data from SecondActivity and pass it again even if nothing changed
item.setSecondName(amount);<-- I should copy data from SecondActivity and pass it again even if nothing changed
                database_list.set(position2,item); <-- (in second parameter) It forces me "custom_object element"

@覆盖
受保护的void onActivityResult(int-requestCode、int-resultCode、@Nullable-Intent-data){
super.onActivityResult(请求代码、结果代码、数据);
int position2=data.getIntExtra(“结果”,默认为0);
int amount=data.getIntExtra(“键2”,默认为0);
自定义对象项=新自定义对象();
项目.设定金额(金额);

database_list.set(position2,item);我不太使用sqldatabase,但我使用过room db,它做得很好,听起来好像数据一更改数据库就没有更新