代码之家  ›  专栏  ›  技术社区  ›  Jack Guo

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

  •  1
  • Jack Guo  · 技术社区  · 8 年前

    我有一个警报对话框,其中包含 edittext wrapped in textinputlayout 。以下工作正常

    builder.setview(r.layout.input_dialog)
    < /代码> 
    
    

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

    val input=layoutInflator.from(this).inflate(r.layout.input_dialog,空)
    builder.setview(输入)
    < /代码> 
    
    

    输入对话.xml

    <linearlayout xmlns:android=“http://schemas.android.com/apk/res/android”
    xmlns:app=“http://schemas.android.com/apk/res-auto”
    android:layout_width=“匹配父级”
    android:layout_height=“匹配父级”
    android:orientation=“垂直”>
    
    <android.support.design.widget.textinputlayout
    android:layout_width=“匹配父级”
    android:layout_height=“包装内容”
    android:layout_marginlet=“20dp”
    android:layout_marginright=“20dp”
    app:hintenabled=“假”
    android:textcolorHint=“@android:color/darker_gray”>
    
    编辑文本
    android:id=“@+id/输入名称”
    android:layout_width=“匹配父级”
    android:layout_height=“包装内容”
    android:inputType=“文本无建议”
    android:textcolor=“@android:color/black”
    android:textsize=“16dp”/>
    </android.support.design.widget.textinputlayout>
    
    </linearlayout>
    < /代码> 
    
    

    活动

    val builder=alert dialog.builder(this,android.r.style.theme_material_light_dialog_alert)
    < /代码> <

    enter image description here

    但是,由于我想获取对编辑文本的引用,当我尝试以下操作时,文本布局不存在,只剩下编辑文本。我做错了什么?

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

    enter image description here

    输入\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 回复  |  直到 8 年前
        1
  •  0
  •   leonardkraemer    8 年前

    我想你需要换衣服 R.layout.input_dialog_single R.layout.input_dialog

        2
  •  0
  •   Jack Guo    8 年前

    我发现一旦我移除 TextInputLayout 然后离开 EditText 一切正常。 文本布局 由于某些原因,似乎无法在警报对话框中正常工作。