使用 android 带布局但不带布局的操作栏项目 java class

Work with android action bar items with layout and without java class

我试图打开一个对话框 (Layout-xml)(without java class !!)酒吧名为 about.so,这是我的 onOptionsItemSelected 代码:

    public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();

    switch (item.getItemId()) {

        case R.id.action_settings:
            Toast.makeText(this, "Settings selected", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.action_about:

            LocationFound();

            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
private void LocationFound() {
    Intent i = new Intent(MainActivity.this, aboutdialog);
    startActivity(i);
}

然后当我想在 :

中添加对话框(布局)文件时
Intent i = new Intent(MainActivity.this, aboutdialog);

不允许这样做 this.also,我之前试过这个 Intent :

startActivity(new Intent(MainActivity.this, aboutdialog));

问题是应用程序无法 find/accept aboutdialog

所以问题是,

我们如何做到这一点,当我点击操作栏中的 About 按钮时,它会显示关于对话框?

提前致谢。

您不需要意图来显示对话框。将您的 LocationFound() 方法更改为此

private void LocationFound(View view) {
Dialog dialog = new Dialog(YourActivityName.this);
dialog.setContentView(R.layout.dialog_layout);
dialog.show();
}

Intent 用于从一个 Activity 移动到另一个 Activity

about dialog

它不是 Activity,所以这就是它对您不起作用的原因。 您应该改用此方法

Dialog.show()

应该是这样 that:

aboutdialog.show()