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