私は現在、フラグメントのリストビューに取り組んでいます。リストビューはCursorloaderによってロードされますが、ContentManagerはロードされません。したがって、コードは次のようになり、機能します。
@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
Log.d("SoapERP", "onCreateLoader");
CursorLoader loader = new CursorLoader(getActivity()) {
final DBHelper dbhelper1= new DBHelper(getActivity());
@Override
public Cursor loadInBackground() {
Cursor c = null;
dbhelper1.open();
c = dbhelper1.fetchAllMatnameswithID();
// dbhelper1.close();
return c;
}
};
return loader;
私の問題は、データベースが閉じられていないというLogCat-Error-Messageが表示されることです。しかし、dbhelper.close();を使用する場合。「データベースはすでに閉じられています」というエラーが表示されますが、returnステートメントの直前にあるため理解できます。returnステートメントのコードに到達できず、DBHelper dbhelper1 finalを宣言すると、logcatに情報がないままプログラムがクラッシュします。だから私の失敗は何ですか?