Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.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中向AlertDialog添加“单击查看更多详细信息”可扩展字段_Java_Android_Android Alertdialog_Details - Fatal编程技术网

Java 如何在android中向AlertDialog添加“单击查看更多详细信息”可扩展字段

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,当出现错误时会显示,它会打印“error”,无法添加/不管怎样,我还有异常的结果,我想解析,但不会显示给所有用户,只显示给那些想点击“details”并阅读异常的用户

            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>