android 切换按钮状态始终为真

标签 android togglebutton

一直在尝试使用 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) 之后,它也变成了 false。但是当我再次点击它时,它再次显示为“true”而不是“false”

我不知道为什么会这样。我只想在每次单击时切换它。请帮帮我!提前致谢:)

最佳答案

将代码更改为:

if (bmark.isChecked()){ 
status = true;
Toast.makeText(getActivity(), "Post Bookmarked..!",Toast.LENGTH_SHORT).show();
}
else {
status = false;
Toast.makeText(getActivity(), "Bookmark removed!", Toast.LENGTH_SHORT).show();
}

切换更改自检状态,您又做了一次,所以状态更改了两次。

关于android 切换按钮状态始终为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38532948/

相关文章:

android - ToggleButton 更改方向时的状态已更改

java - 如何通过单击鼠标左键将绿色 ToggleButton 的颜色更改为红色

Java - 将 MGRS 坐标转换为 LatLon WGS

android - Android 3.0中textview中的文字向下滑动

android - Firebase RemoteConfig 如何为不同应用风格添加键值

JavaFX - 如何关闭 ToggleButton 的自动 setSelected(bool) 功能?

javascript - JQuery:根据条款是否同意切换提交按钮

android - Adwhirl - 千禧年广告 - 不受支持的定量类型

java - Android 如何为所有 Activity 设置全局标志

javascript - 如何默认选择TinyMCE中的 "Justify text"切换按钮?