Android - странный макет отображения в пользовательских DialogPreference

У меня есть собственный DialogPreference с моим собственным определенным макетом. Файл макета выглядит следующим образом:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"

android:paddingTop="5dp"
android:paddingLeft="10dp"
android:paddingRight="10dp" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/enter_password_label"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPassword">

    <requestFocus />
</EditText>

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/confirm_password_label"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    />

<EditText
    android:id="@+id/editText2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textPassword" 
    />

В отображаемом диалоге оба TextViews отсутствуют:

Что является причиной того, что TextViews не отображаются?

1 ответ

Одна из причин такого поведения связана с настройкой тем изготовителем. Другие причины могут заключаться в том, что выбранный текст имеет тот же цвет, что и фон. Чтобы избежать этого, вы можете просто установить цвет для вашего TextView, например:

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/enter_password_label"
    android:textAppearance="?android:attr/textAppearanceLarge"

    android:textColor="#000000" />

* Также убедитесь, что android:text есть текст для отображения на экране

Другие вопросы по тегам