Приложение имеет 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 не сфокусирован.Когда элемент выбирается с помощью клавиши направления, состояние - это состояние, а не состояние.Действительно странно.
Может ли кто-нибудь пролить свет на это?