Как включить GridView, чтобы восстановить фокус? - PullRequest
0 голосов
/ 20 февраля 2019

Приложение имеет GridView следующим образом:

                <GridView
                    android:id="@+id/gridview"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_margin="0dp"
                    android:horizontalSpacing="0dp"
                    android:numColumns="2"
                    android:stretchMode="columnWidth"
                    android:verticalSpacing="0dp" />

Следующий код используется для обнаружения изменения фокуса:

   gridview.setOnFocusChangeListener((v, hasFocus) -> {
        if(hasFocus){
            utility.showMessage(OnviferActivity.this, "Gained Focus");
            gridview.setFocusable(true);
        }else{
            utility.showMessage(OnviferActivity.this, "Lost Focus");
            gridview.setFocusable(true);

        }
    });

После того, как D-pad используется для перемещения фокусаиз GridView он никогда не восстановит его, пока действие не будет перезапущено.Выделение может быть перемещено в элементы внутри GridView, но GridView не сфокусирован.Когда элемент выбирается с помощью клавиши направления, состояние - это состояние, а не состояние.Действительно странно.

Может ли кто-нибудь пролить свет на это?

...