それがAlertDialog2 回表示されているのですが、その理由がわかりません。問題はAlertDialogs;だけに当てはまるわけではありません。ただし、同様に適用さ"Activities"れます。
私は Android 4.0.3 で問題に直面していることに注意してください。ただし、Android 2.3.6 でアプリケーションを実行すると、すべて正常に動作します。
sに関する私の問題を解決するためActivitieに、マニフェスト ファイルに : を設定しましたが、
android:launchMode="singleInstance"うまくいきました。
ただし、AlertDialogマニフェストファイルに設定するための参照がないため、これは s に対しては実行できませんsingleInstance。
BreakPointの後にコードをチェックするためにa を入れるように言われた人もいますshow()。BreakPointしかし、a の付け方とチェックの仕方がわかりません。
編集:
HoloEverywhere と SherlockActionBar を使用しています。それらがどの程度の効果があるかはわかりません。
@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) {
switch(item.getItemId())
{
case R.id.action_one:
alertDialog();
break;
case R.id.action_two:
Intent i = new Intent(this,Info.class);
startActivity(i);
overridePendingTransition(0, 0);
break;
}
return super.onOptionsItemSelected(item);
}
private void alertDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("My title");
AlertDialog alert= builder.create();
alert.show();
}
マニフェストファイルcase R.id.action_twoに設定した後、正常に動作しています。launchMode="singleInstance"ただし、case R.id.action_oneどちらを起動しAlertDialogても、まだ 2 回開いています。
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
// TODO Auto-generated method stub
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.action_options, menu);
return super.onCreateOptionsMenu(menu);
}