現在ListActivityを使用しています。カーソルを使用してSQLからデータを取得し、SQLクエリ結果に従ってListViewを構築しました。私のListView内のすべてのオブジェクトについて、そのオブジェクト(onListItemClick)を押すと、カーソルが読み取るSQLの値が変更され、新しいインテントが開きます(別のオブジェクトを押すと、SQLテーブルの値が変わります) 。最新の私のListViewを保つために、私はこの問題は、私が同じオブジェクトを押し続けるならば、それは作成の意図を離れ、あるListActivity、カーソル、およびSQLデータ更新に関する問題
//adapter is the SimpleCursorAdapter I use
protected void onListItemClick(ListView l, View view, int position, long id) {
super.onListItemClick(l, view, position, id);
//change the data in sql
...
//change the data end
adapter.changeCursor(dbAdapter.getResult(id));
adapter.notifyDataSetChanged();
//create intent here
//startActivity(intent)
}
を使用し、それが正常に動作します。しかし、私は前の意図を残した後、別のオブジェクトを押すと、私のListViewは空になります。たとえば、オブジェクトaを押すと、インテントaを入力してから、インテントaをリストビューに戻し(ListViewは正常です)、次にオブジェクトbを押してインテントbを入力します。インテントbを残すと、ListViewは空になります。誰もがこの問題について考えているのですか?ありがとうございました。
OMG:
百聞は一見にしかずです!以前は、私は更新機能をonresumeに移動しようとしましたが、今はリスト全体を生成しています。どうもありがとう! – JLTChiu