EditText с постоянной подсказкой в ​​Java

У меня есть EditText с некоторой информацией. Когда информации нет, я показываю подпись с помощью setHint().

final EditText info = new EditText(activity);
if (data.getinfo() != null && !data.getAddress().trim().equals("")) {
    info.setText(data.getinfo());
} else {
    info.setHint(R.string.info);
}

Я хочу показать эту подпись, даже если в EditText есть информация, информация должна быть под заголовком.

Я пытался использовать setText(). Но и это не сработало.

if (condition) {
    info.setText(R.string.info);
    info.setText(data.getinfo());
} else {
    info.setHint(R.string.info);
}

person teekib    schedule 08.11.2012    source источник


Ответы (2)


Внутри RelativeLayout используйте TextView в качестве наложения View поверх EditText. Используйте подходящие цвета и размер шрифта для достижения желаемого эффекта.

Вот подсказка

<RelativeLayout …>
    <EditText android:id="@+id/name" 
        android:layoutWidth="match_parent"
        android:layoutHeight="wrap_content" >

    <TextView android:id="@+id/name_hint" 
        android:layoutWidth="wrap_content"
        android:layoutHeight="wrap_content"
        android:gravity="left|center_vertical"
        android:layout_alignLeft="@id/name"
        android:layout_alignRight="@id/name"
        android:layout_alignTop="@id/name"
        android:layout_alignBottom="@id/name"
        android:layout_alignBottom="@id/name" >
</RelativeLayout>

Это всего лишь отправная точка, вы можете отрегулировать высоту EditText, расположить TextView, изменить gravity и т. д., чтобы добиться того, что вы ищете.

person Ragunath Jawahar    schedule 08.11.2012

Вы можете сделать это напрямую через тег xml, который вы добавили в свой макет пользовательского интерфейса.

person Rocker    schedule 08.11.2012
comment
@rocker.. для этого нет xml-файла.. создал макет в java - person teekib; 08.11.2012