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

不幸的是,我无法让这段代码工作。当我点击第一个选项菜单(设置)时,什么也没有出现。但是当我点击第二个选项菜单时, toast 应该会出现。如果有人能指出明显的错误,我将不胜感激。

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

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;
}

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

最佳答案

不要忘记这一点:

alert.show();

关于android - 选项菜单中的 AlertDialog,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8031597/

10-10 10:59