2014-02-18 2 views
1

사용자가 텍스트보기에 초점을 맞추고 배경색이 변경된 다음 초점이 풀리면 textview에서 초점 색이 느슨해집니다. 좀 도와 줄 수있어?setOnFocusChangeListener 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는 클릭 할 수없고 포커스가 가능하지 않으므로 설정해야합니다.

시도해보십시오. 귀하의 코드는 OK입니다

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

는, 유일한 문제는 다음과 같이 호출하는 XML과 자바 코드에서 그것을 만들 새로운 텍스트 뷰 (이)는 텍스트 뷰를 만드는 가장 좋은 방법은 아니다 첫 번째 줄입니다 이 :

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

나머지 코드는 훌륭하게 작동합니다.

희망이 있습니다.

관련 문제