警报对话框视图设置不正确

时间:2018-08-20 21:41:25

标签: android kotlin android-edittext android-alertdialog

我有一个警告对话框,其中EditText包装在TextInputLayout中。以下工作正常

builder.setView(R.layout.input_dialog)

enter image description here

但是由于我想获得对编辑文本的引用,因此当我尝试以下操作时,TextInputLayout消失了,只剩下编辑文本了。我做错了什么?

val input = LayoutInflater.from(this).inflate(R.layout.input_dialog, null)
builder.setView(input)

enter image description here

input_dialog.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        app:hintEnabled="false"
        android:textColorHint="@android:color/darker_gray">

        <EditText
            android:id="@+id/input_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textNoSuggestions"
            android:textColor="@android:color/black"
            android:textSize="16dp" />
    </android.support.design.widget.TextInputLayout>

</LinearLayout>

活动

val builder = AlertDialog.Builder(this, android.R.style.Theme_Material_Light_Dialog_Alert)

2 个答案:

答案 0 :(得分:0)

我想您需要将R.layout.input_dialog_single更改为R.layout.input_dialog

答案 1 :(得分:0)

我发现,一旦删除TextInputLayout并仅保留EditText,一切都会正常。由于某些原因,TextInputLayout在警报对话框中似乎无法正常工作。