Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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
Android 按“后退”按钮从DB再次提取光标(用于更新的listview)_Android_Listview_Android Listview_Android Cursor - Fatal编程技术网

Android 按“后退”按钮从DB再次提取光标(用于更新的listview)

Android 按“后退”按钮从DB再次提取光标(用于更新的listview),android,listview,android-listview,android-cursor,Android,Listview,Android Listview,Android Cursor,我正在处理一个ListFragment a,它使用光标显示一个listview,在单击项时,会打开一个新的活动B,其中显示了与该项相关的详细信息 我面临的问题是,当对单个项目进行更改并按下“后退”按钮时,即我们返回到listview,更改不会反映在那里。现在,我知道游标仍在处理旧数据集,再次获取数据库将解决此问题。然而,我无法实现这一点。我尝试重写onResume方法,但由于某些原因,在第一次创建时以及在按下back按钮时调用该方法 A中的以下类负责获取游标中的数据集: private clas

我正在处理一个ListFragment a,它使用光标显示一个listview,在单击项时,会打开一个新的活动B,其中显示了与该项相关的详细信息

我面临的问题是,当对单个项目进行更改并按下“后退”按钮时,即我们返回到listview,更改不会反映在那里。现在,我知道游标仍在处理旧数据集,再次获取数据库将解决此问题。然而,我无法实现这一点。我尝试重写onResume方法,但由于某些原因,在第一次创建时以及在按下back按钮时调用该方法

A中的以下类负责获取游标中的数据集:

private class LoadWordList extends AsyncTask<String, Void, Cursor> {
    @Override
    protected void onPreExecute() {
        progressDialog = new ProgressDialog(getActivity());
        progressDialog.setTitle("Loading");
        progressDialog.setMessage("Please wait while the word list loads...");
        progressDialog.setCancelable(false);
        progressDialog.show();
    }

    @Override
    protected Cursor doInBackground(String... strings) {

        //Step 2
        db = new MyDatabase(getActivity());
        wordsList = db.getWords();
        return wordsList;
    }

    @Override
    protected void onPostExecute(Cursor cursor) {
        //Step 3
        @SuppressWarnings("deprecation")
        ListAdapter adapter = new SimpleCursorAdapter(getActivity(), android.R.layout.simple_list_item_2, cursor,
                new String[]{"word"}, new int[]{android.R.id.text1});

        //Step 4
        getListView().setAdapter(adapter);

        if (progressDialog != null) {
            progressDialog.dismiss();
        }
    }
}

你在用装载机吗?不,我没有。只有游标对象。您使用的游标适配器的标志是什么?