У меня есть текстовое представление, которое само по себе является частью линейного макета. XML:
<TextView
android:id="@+id/label_text"
android:layout_width="fill_parent"
android:layout_height="77dp"
android:layout_marginTop="3dp"/>
В основной программе я сначала установил текстовое представление на значение:
private TextView character_speaking;
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
character_speaking = (TextView) findViewById(R.id.label_text);
character_speaking.setText("a text string that was large enough for two lines");
}
Это хорошо работает.
Затем я делаю еще один setText в ответ на нажатие кнопки:
public void handleNextButtonClick(View view) {
character_speaking.setText("first one line message");
}
И это тоже сработало
Но затем я сделал еще один setText в ответ на еще одно нажатие кнопки:
public void handlePrevButtonClick(View view) {
character_speaking.setText("second one line message");
}
И грянет беда. Второе однострочное сообщение записывается поверх первого однострочного сообщения без его очистки.
Есть ли способ очистить первое однострочное сообщение перед написанием второго однострочного сообщения?
Я уже пытался обойти эту проблему, используя EditText вместо TextEdit, но это было неприемлемо, поскольку позволяло пользователю писать в поле.
android:inputType="none"
, который отключит редактирование. - person BVB   schedule 12.03.2014