Android Checkbox setOnCheckedChangeListener не работает - PullRequest
0 голосов
/ 29 августа 2018

Предполагается, что это довольно прямолинейно, но по какой-то причине прослушиватель Checkbox не работает.

Вот мой макет:

                <RelativeLayout
                android:layout_width="match_parent"
                android:layout_marginRight="16dp"
                android:layout_marginLeft="16dp"
                android:layout_height="wrap_content">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="12sp"
                    android:layout_marginLeft="@dimen/dimen_5"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_centerVertical="true"
                    android:textStyle="bold"
                    android:text="@string/my_text"
                    />

                <CheckBox
                    android:id="@+id/check_status"
                    android:layout_width="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentEnd="true"
                    android:layout_height="wrap_content" />
            </RelativeLayout>

А вот реализация в моем фрагменте:

CheckBox checkBox = mView.findViewById(R.id.check_status);
            checkBox.setOnCheckedChangeListener(new 
CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean 
isChecked) {
                    LOGD(TAG, "IsButton checked ? "+ isChecked);
                    Toast.makeText(getActivity(), "Check", 
Toast.LENGTH_SHORT).show();
                }
            });

Как я уже сказал, это что-то довольно прямолинейное, но слушатель… ну, он ничего не слушает. Я тестирую на Nexus 5x Oreo и небольшом Motorola Marshmallow.

В какой-то момент я даже попробовал метод setOnClickListener ():

checkBox.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    LOGD(TAG, "IsButton checked ? "+ ((CheckBox) 
v).isChecked());
                }
            });

Результат тот же, я ничего не вижу в logcat

Кто-нибудь знает, почему слушатель Checkbox не работает должным образом?

1 Ответ

0 голосов
/ 29 августа 2018

Скорее всего, setOnCheckedChangeListener() не вызывается:)

...