버튼의 이미지 리소스를 변경하는 것이 목표입니다. 방향을 변경하지 않으면 올바르게 작동하지만 방향을 변경하면 이미지 자원이 설정되지 않았거나 업데이트되지 않을 수 있습니다. 화면 방향이 변경되었는지에 관계없이 다음 코드 (toggleButton 메서드)가 항상 실행된다는 것을 DebugMode에서 관찰합니다. buttonIconID도 항상 정확합니다. 문제는 방향을 변경 한 후에 버튼의 이미지 리소스가 설정되지 않는다는 것입니다.오리엔테이션 변경 후 Button의 ImageResource를 설정할 수 없습니다.
@Override
public void onCreate(Bundle savedInstanceState) {
...
mTopBar = new TopBar(this);
...
}
TopBar 생성자 : TopBar에서
public TopBar(MainActivity mainActivity) {
this.mainActivity = mainActivity;
mButton = (ImageButton) mainActivity
.findViewById(R.id.toggleButton);
mButton.setOnTouchListener(this);
...
}
ToggleButton의 방법 : 당신의 도움에 대한
이public void toggleButton(final int buttonIconID) {
mainActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
mButton.setImageResource(buttonIconID);
}
});
}
감사합니다!