2012-06-22 4 views
0

레이아웃에 4 개의 버튼이 있습니다.보기의 4 가지 내용 사이에 전환기가 있습니다. 이 버튼 중 하나를 누를 때마다 강조 표시해야합니다 (다른 배경, 다른 이미지를로드하고 텍스트 색상을 변경하기 만하면됩니다). 문제는, 버튼을 터치 한 순간부터 (클릭 한 후가 아니라) 다른 버튼을 누를 때까지이 작업이 필요합니다. onClick() 메서드를 간단히 사용하면 다른 버튼이 이미 강조 표시되어 있는지 확인해야하고 클릭 한 후에 만 ​​변경됩니다. 그 좋은 해결책이 있습니까?Android : 다른 버튼을 누를 때까지 버튼을 강조 표시합니다.

+0

행운이 뭐니? – Barak

+0

불행히도, 이것은 작동하지 않습니다. 버튼은 버튼을 놓은 후에 색상을 다시 변경합니다. 나는 또한 안드로이드의 다른 조합을 시도 : state_pressed android : state_focused - 도움이되지 않습니다. –

+0

UPD : 해결책은 button.setFocusableInTouchMode (true)를 설정하는 것이 었습니다. –

답변

1

수신기는 어떻습니까? onFocusChange은 어떻습니까?

button.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     if (hasFocus) { 
      // set the background, image and color for focused 
     } else { 
      // set the background, image and color back to normnal 
     } 
    } 
}); 

각 버튼마다 하나를 설정하면 모두 설정해야합니다.

관련 문제