私はメッセンジャーアプリをやっていて、メッセージ履歴のためにArrayAdapterでListViewを作成しました。私はメッセージング活動を行うサービスを持っているので、ユーザーが他の何かとやり取りしているときでもメッセージを受け取るはずです。ただし、ホームボタンを押した後にアプリに戻ると、アプリにとって奇妙なことである空のリストビューが表示されます。H はアダプタを on SavingInstance に保存しようとしましたが、シリアル化できないため機能しません。リストビューを保持するにはどうすればよいか教えてください。以下は私のコードのいくつかのパッチです。
// Array adapter for the conversation thread
private ArrayAdapter<String> mConversationArrayAdapter;
private ListView mConversationView;
// Initialize the array adapter for the conversation thread
mConversationArrayAdapter = new ArrayAdapter<String>(this, R.layout.message);
mConversationView = (ListView) findViewById(R.id.in);
mConversationView.setAdapter(mConversationArrayAdapter);
/**
* save the listView
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("mArrayAdapter", (Serializable) mConversationArrayAdapter);
Toast.makeText(this, "History saved.", Toast.LENGTH_SHORT).show();
}
*/
public void onStart(Bundle savedInstanceState) {
super.onStart();
if(D) Log.e(TAG, "++ ON START ++");
// if (savedInstanceState != null) {
// mConversationArrayAdapter = (ArrayAdapter<String>) savedInstanceState.getSerializable("mArrayAdapter");
// }
setupChat();
}