이벤트리스너를 통해서 클릭했을 시 클릭한 버튼의 색깔을 바꿀려고 하는데
버튼의 색깔은
< item android:state_pressed = "true" android:color = "#E85021" />
< item android:state_selected = "true" android:color = "#E85021" />
< item android:color = "#D5866E" />
</ selector >
|
누를때, 선택됬을때, 기본 이렇게 3가지로 구분해 놓았고
koreaButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
koreaButton.setSelected(true);
usButton.setSelected(false);
japanButton.setSelected(false);
}
});
usButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
koreaButton.setSelected(false);
usButton.setSelected(true);
japanButton.setSelected(false);
}
});
japanButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
koreaButton.setSelected(false);
usButton.setSelected(false);
japanButton.setSelected(true);
}
});
자바에선 이렇게 3개의 버튼에 각각 select했을때 설정을 하여, 각 버튼을 누를 때 누른 버튼이 다른 버튼을 누르기 전까지 바뀐 색깔로 유지되는 코드를 만들었지만, 실행시켰을때 버튼을 눌렀더니 pressed는 적용되어 잠시 색깔이 바뀌는데 selected는 실행이 안되는지 색깔이 바뀌지 않고 기본 색깔 그대로네요...