一直試圖使用ToggleButton
作爲我的應用程序中的書籤類事物。我第一次使用這個。我宣佈我的切換按鈕onCreateView()
如下下:安卓切換按鈕狀態始終爲真
bmark = (ToggleButton) v.findViewById(R.id.bmark);
bmark.setChecked(false);
我想只是將狀態切換並顯示Toast
消息!我試過如下:
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();
}
}
});
每次我按下按鈕,狀態最初讀爲「真」,雖然我已經把它設置爲「假」。我打電話給setChecked(false)
後,它也變成了錯誤。但是當我再次點擊它,它再次讀取「真」,而不是「假」
我不知道爲什麼它發生這樣的事情。我只是想在每次點擊時切換它。請幫助我!感謝提前:)
FYI接受的答案是不是最佳的解決方案,因爲它需要處理一個布爾標誌保持狀態軌道。 – earthw0rmjim
狀態在答案是額外的,因爲在原始代碼,也許它在不同的地方使用,所以沒有什麼最佳或沒有。 –
@MaciejSikora如果它是'onClick()'中的局部變量,它在不同的地方如何使用?你的評論沒有任何意義。 – earthw0rmjim