ToggleButton
을 사용하여 내 응용 프로그램에 북마크 종류로 사용하려고했습니다. 나는 이것을 처음으로 사용하고있다. 나는 아래 onCreateView()
에서 내 토글 버튼을 선언 :android toggle 버튼 상태 항상 true
bmark = (ToggleButton) v.findViewById(R.id.bmark);
bmark.setChecked(false);
난 그냥 상태를 전환하고 Toast
메시지를 표시하는 것을 시도하고있다! 나는 아래 시도 : 나는 "false"로 그것을 설정 한하지만
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
bmark.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean status;
if (bmark.isChecked()) status = true;
else status = false;
Log.w("Bmark status",String.valueOf(status));
if (status) {
bmark.setChecked(false);
Log.w("Bmark after true",String.valueOf(bmark.isChecked()));
Toast.makeText(getActivity(), "Bookmark removed!", Toast.LENGTH_SHORT).show();
} else {
bmark.setChecked(true);
Log.w("Bmark after false",String.valueOf(bmark.isChecked()));
Toast.makeText(getActivity(), "Post Bookmarked..!", Toast.LENGTH_SHORT).show();
}
}
});
I 버튼을 누를 때마다, 상태가 처음 "true"로 읽습니다. setChecked(false)
으로 전화하면 거짓이됩니다. 그러나 다시 클릭하면 다시 "true"와 "false"대신에 읽습니다.
나는 왜 이런 일이 일어나는 지 알지 못합니다. 나는 그것을 클릭 할 때마다 그냥 토글하고 싶다. Pls 날 도와주세요! 미리 감사드립니다 :)
FYI 상태를 추적하기 위해 부울 플래그를 처리해야하므로 허용되는 대답이 최적의 솔루션이 아닙니다. – earthw0rmjim
답안의 상태가 원래 코드에 있었기 때문에 추가 상태가되었습니다. 아마도 다른 곳에서 사용되었으므로 최적 상태가 될 수도 있고 그렇지 않을 수도 있습니다. –
@MaciejSikora'onClick()'의 지역 변수가 다른 곳에서 어떻게 사용됩니까? 귀하의 의견은 일체의 의미가 없습니다. – earthw0rmjim