CheckBox setChecked()在后台片段中不起作用

时间:2018-04-16 14:15:54

标签: android android-fragments android-checkbox

在一个活动中,有一个FragmentViewPager包含5个碎片。 5启动活动时将同时创建碎片。如果在app执行CheckBox setChecked(true)时,执行setChecked()的片段不是首页,则CheckBox的UI为空,isChecked()的值为true。

我在android的CompoundButton.java的notifyViewAccessibilityStateChangedIfNeeded( AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED);中找到了setChecked(boolean checked)。也许它不能在后台片段时改变UI。但是如何解决它。

if (cls.getIf_allow_to_join().equals("是")) {
                checkBox.setChecked(true);
            } else if (cls.getIf_allow_to_join().equals("否")) {
                checkBox.setChecked(false);
            }

这是AsyncTask中Fragment OnCreateView()的setChecked()代码。如果我在启动活动时将此Fragment设置为currentItem,则不存在此问题。

1 个答案:

答案 0 :(得分:0)

请使用AppCompatCheckBox代替CheckBox

检查 android.support.v7.widget.AppCompatCheckBox