두 개의 buttons
이 있으며 프로그래밍 방식으로 코드화되어 있습니다 (이 파일에 XML
파일이 없음). 백그라운드 onClick
을 토글하려고하는데 토글되지 않습니다.ImageButton 배경이 프로그래밍 방식으로 전환되지 않음
This은 도움이되지 않아 도움이되지 않으며 this이 작동하지 않습니다. 나는 XML
으로 그것을하는 방법을 안다. 그러나 내가 말했던 것처럼, 나는 그것을 가지지 않고있다. 클릭시 앞뒤로 ImageButton
배경을 올바르게 전환하려면 어떻게해야합니까? buttons
을 클릭하면 배경이 바뀌지 만 은 다시 클릭 할 때까지 그대로 유지됩니다. 즉시 원래 상태로 되돌리려 고합니다. (그냥 관련 button
코드를 보여주는 사이의 코드 많아요.) buttons
의
인스턴스화 :
static final int leftFireButtonID = 3;
static final int rightFireButtonID = 4;
private boolean isLeftButtonClicked = false;
private boolean isRightButtonClicked = false;
leftFireButton = new ImageButton(this);
rightFireButton = new ImageButton(this);
leftFireButton.setImageResource(R.drawable.red_button);
rightFireButton.setImageResource(R.drawable.red_button);
코드 청취자에 대한이 :
leftFireButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
soundPool.play(soundID,1.0f,0.5f,1,0,1.0f); //Pew pew gunfire
if(view.getId() == leftFireButtonID) {
isLeftButtonClicked = !isLeftButtonClicked;
view.setBackgroundResource(isLeftButtonClicked ? R.drawable.red_button_pressed : R.drawable.red_button); //stays...needs to change back
}
}
});
rightFireButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
soundPool.play(soundID, 0.5f, 1.0f, 1, 0, 1.0f); //Pew pew gunfire
if(view.getId() == rightFireButtonID) {
isRightButtonClicked = !isRightButtonClicked;
view.setBackgroundResource(isRightButtonClicked ? R.drawable.red_button_pressed : R.drawable.red_button); //stays....needs to change back
}
}
});
이 XML
선택기 너무 쉬웠다. 어떤 도움을 주셔서 감사합니다.
대신에 'OnTouchListener'를 사용해야합니다. 'OnClickListener'는'ACTION_UP' 이벤트 후에 만 발생합니다. –
나는 문자 그대로 내 알림을 확인하기 위해 다시 돌아 오기 전에 그렇게했습니다. Lol. 다행이라고 생각 했어. 댓글을 주셔서 감사합니다! – IRGeekSauce