选项菜单中的AlertDialog

时间:2011-11-07 00:39:35

标签: android alertdialog

我正在尝试使用单选项目列表(单选按钮)创建警报对话框。当用户单击两个选项菜单之一时,将调用此对话框。

不幸的是,我无法使用此代码。当我单击第一个选项菜单(设置)时,没有任何内容出现。但是当我点击第二个选项菜单时,吐司就会出现。如果有人能指出明显的错误,我将不胜感激。

以下是警报对话框和选项菜单的代码清单:

import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ProgressDialog;
import android.content.DialogInterface;

ProgressDialog msgInitGPS = null;
final CharSequence[] items = {"m/s", "km/h", "mph"};

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.settings: AlertDialog.Builder UnitSelection = new AlertDialog.Builder(this);
                            UnitSelection.setTitle("Select Unit");
                            UnitSelection.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int item) {
                                    Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
                                }
                            });
                            AlertDialog alert = UnitSelection.create();
                            break;

        case R.id.help:     Toast.makeText(this, "This will launch the Help screen", Toast.LENGTH_LONG).show();
                            break;
    }
    return true;
}

非常感谢您的时间和帮助!

1 个答案:

答案 0 :(得分:5)

不要忘记这一点:

alert.show();