0

Android用のテキストUIを作成しています。メッセージスレッドの処理方法は、送信を押すとメッセージを送信し、新しいメッセージスレッドを作成してから、このメッセージを会話ビューの対応するインスタンスに追加することです。

ConverseView は onCreate(Bundle) メソッドのみを持つアクティビティです。このメソッドはアダプターを作成し、ArrayList からの値をアダプターに取り込みます。ユーザーが送信ボタンを押すと、配列リストにメッセージが追加されます。ただし、これらはビューには表示されません。

問題は、アクティビティが作成されてからメッセージが追加され、ListView が更新されないことだと思います。どうすればこれを修正できますか。

4

2 に答える 2

1

ArrayAdapter adapter;に裏打ちされた を使用しArrayListます。ArrayList を変更した後にリスト内のデータを更新するには、 を呼び出すだけですadapter.notifyDataSetChanged()

于 2012-12-08T00:31:31.893 に答える
0

ライフサイクルの詳細については、こちらをご覧ください。

基本的にonStart(Bundle state)、アクティビティが開始された後に呼び出されます。これは、アクティビティが有効で、a) アプリケーションと b) Android 自体に応答していることを意味します。

onResume(Bundle state)アクティビティが画面に表示されようとしていることを意味します。ここで、実行する必要がある UI の処理を​​終了する必要があります。

Adapter.notifyDataSetChanged()データが表示されない場合は、アダプターの再描画をプッシュするために呼び出す必要があります。この呼び出しがないと、アダプターは (グラフィカルに) 更新されません。

于 2012-12-08T00:32:13.657 に答える