Android: измените цвет текста TextView, когда родитель будет сфокусирован

В основном ViewModel является оберткой вокруг модели. Теперь, когда еще не могло бы быть очень полезным:-), Думают о модели как о данных Ваши работы приложения с, говорит человек. Теперь у человека есть день рождения, и Вы могли бы хотеть иметь форму для ввода дня рождения человека. Предположим, что мы просто используем простой TextBox, дата разоблачает что-то как 02.01.2009 0:00:00. Для начинающих мы не хотим часть времени, и мы также не могли бы быть к довольному 02.01.2009 частями, поскольку это зависит от Ваших настроек локали.

, Таким образом, здесь ViewModel приезжает im. Это обертывает класс Человека и представило дату как три целочисленных значения, год, месяц и день. В наборе свойств это пытается создать дату из различных значений и отображает любые ошибки, которые могли бы произойти.

так так сказал, что ViewModel является Образцовой оберткой, конкретно приспособленной к конкретному представлению (дисплей). Это устраняет большую часть IValueConvertors одновременно.

у Josh Smith есть хорошее объяснение здесь: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages и большое обсуждение здесь: http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1

7
задан Felix 17 October 2009 в 13:08
поделиться

1 ответ

Вы можете получить TextView с помощью метода onFocuseChange слушателя LinearLayout. Что-то вроде

public void onFocusChange(View v, boolean hasFocus) {
    TextView tv = (TextView)v.findViewById(R.id.myTextView);
    tv.setTextColor(R.color.foo);
}

Поскольку ваш LL может размещать несколько виджетов, я думаю, ожидается, что onFocus LL не будет распространяться, даже если у вас есть один элемент управления

4
ответ дан 6 December 2019 в 14:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: