Кнопка в просмотре списка не активируется при прокрутке - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть listview, который содержит некоторые cells, а ячейки содержат Buttons.

Кнопки работают нормально с первой попытки, но после прокрутки они не работают.Состояние меняется на выбранное, но onClickListener не вызывается.

Вот XML-код кнопки (на самом деле они видны в виде значков кнопок: android-iconify )

        <com.joanzapata.iconify.widget.IconButton
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_gravity="right"
            android:gravity="right|center|top"
            android:paddingRight="30dp"
            android:layout_toRightOf="@id/icon_map_marker"
            android:layout_alignParentRight="true"
            android:textColor="@drawable/hj_button_text_color_blue"
            android:text="{fa-user}"
            android:background="@color/default_transparent_color"
            android:ellipsize="end"
            android:id="@+id/textView_ad_detail_authorName"
            android:maxLines="1"
            android:focusable="false"
            android:textSize="13sp" />

и затем в адаптере:

IconButton buttonUsername = (IconButton) adDetailView.findViewById(R.id.textView_ad_detail_authorName);
buttonUsername.setText("\u200F" + "{fa-user 16sp @color/hj_color_blue}" + "  " + ad.getAuthorName() + "  " + "{fa-thumbs-up 16sp @color/hj_color_green}");

buttonUsername.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            IconButton button = (IconButton) view;
                            String username = ad.getAuthorName();
                            if (delegate != null) {
                                try {
                                    delegate.usernamePushed(username, button.getId());
                                }
                                catch (Exception e) {
                                    Crashlytics.logException(e.getCause());
                                }
                            }

                                }

                    });

Я уже попробовал это , но у меня это не сработало.

Я загрузил короткое видео на YouTube здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...