2014-02-18 2 views
1

Я пытаюсь это сделать, когда пользователь фокусируется на текстовом представлении, фон меняет цвет, а затем, когда он теряет фокус, текстовое изображение теряет цвет фокуса. Не могли бы вы помочь?setOnFocusChangeListener change backgroundcolor

TextView tv1=new TextView(this); 

tv1.setOnFocusChangeListener(new OnFocusChangeListener() { 

    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 

     if(hasFocus){ 
      v.setBackgroundColor(Color.RED); 
     }else{ 
      v.setBackgroundColor(Color.TRANSPARENT); 
     } 

    } 

}); 
+4

Что происходит ?? – TheLostMind

+0

Почему вы не используете xml для этого? – R9J

+0

, потому что он динамически добавляется с большим количеством текстовых просмотров. –

ответ

2

По умолчанию textView не доступен для кликов и фокусировки, тогда вам необходимо установить его.

Попробуйте это.

tv1.setClickable(true); 
tv1.setFocusableInTouchMode(true); 
0

Ваш код ОК, единственная проблема заключается в первой линии новый TextView (это) не лучший способ создать TextView, сначала создать его в XML и из кода Java называют это как это:

EditText tv1 = (EditText) findViewById(R.id.my_textViewId); 

Остальная часть вашего кода отлично работает.

Надеюсь, это поможет.

Смежные вопросы