Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从操作栏项调用对话框函数会导致Android应用程序崩溃_Android_Android Alertdialog - Fatal编程技术网

从操作栏项调用对话框函数会导致Android应用程序崩溃

从操作栏项调用对话框函数会导致Android应用程序崩溃,android,android-alertdialog,Android,Android Alertdialog,我有一个要单击的操作栏项目,我将其设置为: android:onClick="showDialog" 因此,我可以调用我的show dialog函数,当从activity_main.xml上的按钮调用时,该函数可以正常工作,但不能从menu_main.xml调用。当我在menu_main.xml中输入这段代码时,我得到一个小的信息性警告,-“MainActivity”中的方法“showDialog”的签名不正确 应用程序一打开,就会立即崩溃,出现致命异常: dialog.com.dialogt

我有一个要单击的操作栏项目,我将其设置为:

android:onClick="showDialog"
因此,我可以调用我的show dialog函数,当从activity_main.xml上的按钮调用时,该函数可以正常工作,但不能从menu_main.xml调用。当我在menu_main.xml中输入这段代码时,我得到一个小的信息性警告,-“MainActivity”中的方法“showDialog”的签名不正确

应用程序一打开,就会立即崩溃,出现致命异常:

dialog.com.dialogtry1 E/AndroidRuntime﹕ 致命异常:主 android.view.InflateException:无法解析类dialog.com.dialogtry1.MainActivity中单击处理程序showDialog时的菜单项

以下是我在Main活动中的showDialog代码:

    public void showDialog(View v){
        FragmentManager Fmanager = getFragmentManager();
        Dialog myDialog = new Dialog();
        myDialog.show(Fmanager, "MyDialog");
}
这是我的对话课:

    public class Dialog extends DialogFragment{
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.dialogfragment, null);
    }
}
以下是我的dialogfragment.xml:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Create new list."
    android:id="@+id/headerID"
    android:textSize="20sp"
    android:padding="5dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"/>
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="List name here."
    android:layout_below="@+id/headerID"
    android:id="@+id/editTextID"/>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Yes"
    android:layout_below="@+id/editTextID"
    android:id="@+id/yesID"/>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="No"
    android:id="@+id/noID"
    android:layout_below="@+id/editTextID"
    android:layout_toRightOf="@+id/yesID"/>

而不是使用

android:onClick="showDialog"

试着按照解释使用
OnOptions ItemSelected是处理菜单项中单击事件的正确方法。

我发现了这个问题。。当我将(视图v)作为参数从showDialog函数中删除时,我能够使用OnOptions ItemSelected,没有“方法不可解析”错误。你发布的链接肯定会对我的未来有所帮助,这是很多好东西。谢谢

复制并粘贴用于在此处显示菜单的代码当我调用showDialog()时,它表示无法解决我发现的问题的方法。。当我将(视图v)作为参数从showDialog函数中删除时,我能够使用OnOptions ItemSelected,没有“方法不可解析”错误。你发布的链接肯定会对我的未来有所帮助,这是很多好东西。谢谢