Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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
Java Android-如何在自定义警报对话框中检查按钮单击?_Java_Android_User Interface_Android Dialog_Flat - Fatal编程技术网

Java Android-如何在自定义警报对话框中检查按钮单击?

Java Android-如何在自定义警报对话框中检查按钮单击?,java,android,user-interface,android-dialog,flat,Java,Android,User Interface,Android Dialog,Flat,我有两个按钮:共享,继续。它们都是在一个新的XML文件中创建的,因为我想让我的应用程序保持一个漂亮的平面Windows8/10图形用户界面 我能够显示对话框消息,但我面临的问题是,如何检查用户单击了哪个按钮:共享还是继续?我无法为他们设置onClickListener,因为此警报对话框已在新文件中创建,因此,如果我尝试这样做,它会使应用程序崩溃 以下是按钮的XML代码: <Button android:layout_width="fill_parent" android:l

我有两个按钮:共享,继续。它们都是在一个新的XML文件中创建的,因为我想让我的应用程序保持一个漂亮的平面Windows8/10图形用户界面

我能够显示对话框消息,但我面临的问题是,如何检查用户单击了哪个按钮:共享还是继续?我无法为他们设置onClickListener,因为此警报对话框已在新文件中创建,因此,如果我尝试这样做,它会使应用程序崩溃

以下是按钮的XML代码:

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:id="@+id/share_button"
    android:layout_marginRight="5dp"
    android:text="SHARE"
    android:textColor="#FFFFFF"
    android:textSize="16sp"
    android:background="@drawable/button_blue" />

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:id="@+id/continue_button"
    android:layout_marginLeft="5dp"
    android:text="CONTINUE"
    android:textColor="#FFFFFF"
    android:textSize="16sp"
    android:background="@drawable/button_green" />

您可以通过
对话框d
调用它,即:

    Dialog d = new Dialog(MainActivity.this);
    d.requestWindowFeature(Window.FEATURE_NO_TITLE);
    d.setContentView(R.layout.dialog);
    Button button = (Button) d.findViewById(R.id.share_button);
    Button button2 = (Button) d.findViewById(R.id.continue_button)
    d.show();
然后,您可以创建一个正常的
onClickListener

button.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
      //STUFF
  }
});

希望有帮助;)

我不明白你所说的“在新文件中创建,因此,它会使应用程序崩溃”是什么意思。当您尝试通过按钮的id
d.findViewById(R.id.continue\u按钮)查找按钮时会发生什么情况?当我这样做时,什么也不会发生。但那又有什么用呢?我的意思是,如果这就是我找到按钮ID的方式,那么我该如何设置onClickListener呢?你已经有了按钮的ID了
Dialog.findViewById()
返回相应的
视图
,您可以为其设置侦听器:
View.setOnClickListener(…)。按照Android777的建议初始化按钮。完美!它起作用了,现在我明白它是怎么起作用的了。谢谢:)
button.setOnClickListener(new View.OnClickListener() {
  public void onClick(View v) {
      //STUFF
  }
});