2

我正在尝试从溢出菜单项启动警报对话框。对话框布局位于 dialog_settings.xml 中。

import android.support.v7.app.AlertDialog;

/** Code omitted */

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId():
        if (id == R.id.action_settings) {
            AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
            View mView = getLayoutInflater().inflate(R.layout.dialog_settings, null);
        }
        return super.onOptionsItemSelected(item);
    }

上面的代码不会产生错误,但单击菜单项也不会产生对话框。我正在为我的应用程序和 Android Studio 使用 Android 4.1.2、API 16。

我希望找到比2012 年的这个问题更简单的解决方案。

4

1 回答 1

1

您只是在构建对话框,而不是创建和显示它。也许你想要这样的东西:

if(id == R.id.action_settings) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(R.layout.dialog_settings) //set the view
       .create() //create the dialog
       .show(); //show the dialog

    return true;
}
于 2017-01-17T14:54:42.763 回答