Java 如何在android中向AlertDialog添加“单击查看更多详细信息”可扩展字段
我有一个AlertDialog,当出现错误时会显示,它会打印“error”,无法添加/不管怎样,我还有异常的结果,我想解析,但不会显示给所有用户,只显示给那些想点击“details”并阅读异常的用户Java 如何在android中向AlertDialog添加“单击查看更多详细信息”可扩展字段,java,android,android-alertdialog,details,Java,Android,Android Alertdialog,Details,我有一个AlertDialog,当出现错误时会显示,它会打印“error”,无法添加/不管怎样,我还有异常的结果,我想解析,但不会显示给所有用户,只显示给那些想点击“details”并阅读异常的用户 AlertDialog.Builder dialogo1 = new AlertDialog.Builder(activity); dialogo1.setTitle("Error"); dialogo1.setMessage(
AlertDialog.Builder dialogo1 = new AlertDialog.Builder(activity);
dialogo1.setTitle("Error");
dialogo1.setMessage("Could not update movie: " + result);
dialogo1.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogo1, int id) {
activity.finish();
}
});
dialogo1.show();
这是我的代码,非常简单,对吗?我一直无法找到这个答案,我开始认为这是不可能的您需要的是自定义警报对话框。 因此,你必须给我们一个布局,定义你的对话框,然后初始化你的监听器,就像你定义的普通视图一样 dialog_layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/header_logo"
android:layout_width="match_parent"
android:layout_height="64dp"
android:scaleType="center"
android:background="#FFFFBB33"
android:contentDescription="@string/app_name" />
<TextView
android:id="@+id/error"
andorid:text="Error Message"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/moreDetailsButton"
android:text="Click for more details"
android:inputType="textPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/moreDetailsView"
android:text="Click for more details"
android:inputType="textPassword"
android:layout_width="match_parent"
android:visibility="gone";
android:layout_height="wrap_content"/>
<Button
android:id="@+id/dialogButtonOK"
android:layout_width="100px"
android:layout_height="wrap_content"
android:text=" Ok "
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:layout_below="@+id/moreDetailsButton"
/>
</RelativeLayout>
很抱歉,如果ctrl+c,ctrl+v不起作用,那么会出现语法错误。我的IDE今天决定行为不当
有关自定义警报对话框的详细信息,请参见。在此处使用带有自定义视图的DialogFragment可能会更简洁。您可以添加自己的按钮来更改隐藏字段的可见性,而不必使用system buttons.google.com+dialog+custom Views,并且您还有一个activity.finish,然后关闭对话框。您没有收到窗口泄漏错误吗?布局有点古怪,我将在回答中编写自己的版本。谢谢你给我指明了正确的方向!
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/error"
android:text="Error Message"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_toEndOf="@+id/moreDetailsView"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/moreDetailsView"
android:text="No existen detalles para este tipo de error."
android:layout_width="match_parent"
android:visibility="gone"
android:layout_height="wrap_content" />
<Button
android:id="@+id/moreDetailsButton"
android:text="Click for more details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/moreDetailsView"
android:layout_below="@+id/error"
android:layout_alignParentStart="true" />
<Button
android:id="@+id/dialogButtonOK"
android:layout_width="139dp"
android:layout_height="wrap_content"
android:text="OK"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/moreDetailsView"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/error"
android:text="Error Message"
android:layout_width="match_parent"
android:layout_height="37dp"
android:layout_toEndOf="@+id/moreDetailsView"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/moreDetailsView"
android:text="No existen detalles para este tipo de error."
android:layout_width="match_parent"
android:visibility="gone"
android:layout_height="wrap_content" />
<Button
android:id="@+id/moreDetailsButton"
android:text="Click for more details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/moreDetailsView"
android:layout_below="@+id/error"
android:layout_alignParentStart="true" />
<Button
android:id="@+id/dialogButtonOK"
android:layout_width="139dp"
android:layout_height="wrap_content"
android:text="OK"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/moreDetailsView"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</RelativeLayout>