2011-06-30 16 views
0

基本的に私のデータベースはちょっと働いていました(非常に不便でしたが、リストビューの変更を見るためには基本的にアプリケーションを再起動しなければなりませんでした)。Androidデータベースが更新または削除されない

私はカスタマイズされたアダプタを使用して、私のアダプタを試してみて、更新する

ea.notifyDataSetChanged(); 

を使用します。

これは、二つの部分の質問です。しかし、問題は、配列が更​​新されないということです。

List<String> rList = db.selectAllReceive(); 
    receiveMessages = rList.toArray(new String[rList.size()]); 

アダプタ内のアレイを更新するだけでいいですか?

パート2:

db.delete(clicked); 
     Toast.makeText(getBaseContext(), "Deleted Row: " + clicked, Toast.LENGTH_SHORT); 
     Log.i("ContextMenu", "[MainAct.Class] Clicked DELETE"); 
     ea.notifyDataSetChanged(); 

これは私のonContextItemSelected(内にある私のコードです)。私はログを取得しますが、Toastを取得したり、データベースの削除を通知したりすることはありません。

多分、配列が十分に更新されていないという事実がありますか?配列を更新してそれを使用するメソッドを作成する必要がありますか?

確かに言うのは難しいクラス全体/クラス、なしのおかげ

答えて

0

が、私はスレッドの問題を想定します。トーストメッセージが表示されない場合はこれが示唆されていますが、データベースの更新とリストビューの更新を処理するために適切にスレッドを実行しているかどうかを確認します。

+0

私は全くスレッドしていません。たぶんその理由は – Brandon

+0

うわー。トーストは.show()を持っていません...しかし、スレッディングアイデアのおかげで、2つの答えの中で最も役に立つ... – Brandon

0

mListView.setAdapter(アダプター)を使用すると、多分少しの効率問題を解決することができますが、データソースが大きくなければ、それは負担になります。

+0

それは私がやっていることです – Brandon

関連する問題