Android AlertDialog.Builder OnClickListener上的自定义按钮
我想显示我的omn警报对话框。我创建了布局,然后在OnClickListener上使用它。(当您单击列表中的某个元素时,它将显示该元素的详细信息) 当AlertDialog出现时,一切正常,但我希望我自己的Disclose按钮能够正常工作。不幸的是,它没有,我不知道如何管理这一点 这是我的XML文件:Android AlertDialog.Builder OnClickListener上的自定义按钮,android,android-layout,android-alertdialog,Android,Android Layout,Android Alertdialog,我想显示我的omn警报对话框。我创建了布局,然后在OnClickListener上使用它。(当您单击列表中的某个元素时,它将显示该元素的详细信息) 当AlertDialog出现时,一切正常,但我希望我自己的Disclose按钮能够正常工作。不幸的是,它没有,我不知道如何管理这一点 这是我的XML文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.andr
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/DetailDialog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/popup_background" >
<Button
android:id="@+id/dismissAlert"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/firstDivider"
android:layout_centerHorizontal="true"
android:background="@color/popup_background"
android:text="Dismiss"
android:textColor="@color/splashColor" />
<TextView
android:id="@+id/alertDetail"
android:layout_width="wrap_content"
android:layout_height="80dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:paddingTop="20dp"
android:text="Description : alert's details"
android:textColor="@color/text"
android:textSize="20dp" />
<View
android:id="@+id/firstDivider"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/alertDetail"
android:background="@color/design_alert" />
谢谢你的帮助这对我来说很好:
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "Dismiss",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
您可以尝试以下方法:
dismiss.setOnClickListener(new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
这应该行得通。在对话框上调用discouse()
,而不是在生成器上
比如说,
final AlertDialog dlg = adb.show();
// in onClick()
dlg.dismiss();
试试这种方法,希望这能帮助你解决问题。
final Dialog dialog = new Dialog(activity, android.R.style.Theme_Translucent_NoTitleBar);
dialog.setContentView(R.layout.alert_detail_dialog);
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setMovementMethod(LinkMovementMethod.getInstance());
text.setText(message);
text.setGravity(Gravity.CENTER);
Button dismiss = (Button) dialog.findViewById(R.id.dismissAlert);
dismiss.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
您指定的想法不清楚谢谢@laalto!我不小心,这是个愚蠢的错误。再次感谢:)
final Dialog dialog = new Dialog(activity, android.R.style.Theme_Translucent_NoTitleBar);
dialog.setContentView(R.layout.alert_detail_dialog);
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setMovementMethod(LinkMovementMethod.getInstance());
text.setText(message);
text.setGravity(Gravity.CENTER);
Button dismiss = (Button) dialog.findViewById(R.id.dismissAlert);
dismiss.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();