私は現在Androidプロジェクトに取り組んでおり、ユーザーがダイアログテーマを使用するアクティビティで戻るボタンを押すと問題が発生します。
基本的に、アクティビティがあります。これをMyActivityと呼び、@ android:style/Theme.Holo.Dialogを使用するMyDialogという2番目のアクティビティを使用します。
MyDialogアクティビティが画面に表示されると、ダイアログでアクティビティダイアログが期待どおりに開始されますが、ユーザーが戻るボタンを押すと、ダイアログアクティビティは期待どおりに閉じますが、開始アクティビティ、つまりMyActivityは終了したように見えます。空白の画面が表示されます。
アクティビティを開始するためのフラグを設定していないので、なぜこの動作を実行しているのかわかりません。以下は、ダイアログアクティビティを開始するために使用しているコードです。
public OnItemClickListener mListView = new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View view, int position,
long id) {
String selection = ((TextView)view).getText().toString();
StringTokenizer st = new StringTokenizer(selection, "\n");
String name = st.nextToken();
String username = st.nextToken();
Intent intent = new Intent(PasswordList.this, LoginSelectionManager.class);
intent.putExtra("name", name);
intent.putExtra("username", username);
startActivity(intent);
}
};
UPDATE 以下のリクエストは、MyActivityのonResumeメソッドのコードです。
@Override
public void onResume()
{
super.onResume();
populateListArray();
}
これが行うのは、データベースからのデータをListView配列アダプターに再移入する関数を呼び出すことだけです。以下はこのためのコードです
private void populateListArray()
{
ArrayList<Spanned> passwords = managePasswordList.getPasswordList();
if (passwords != null)
{
passwordArrayAdapter = new ArrayAdapter<Spanned>(this,
android.R.layout.simple_list_item_1, passwords);
setListAdapter(passwordArrayAdapter);
passwordArrayAdapter.setNotifyOnChange(true);
myListView.setTextFilterEnabled(true);
}
}