2016-01-11 1 views
5

В настоящее время я работаю над приложением Android TV.Android TV App - невозможно выбрать элемент списка с удаленным

Я пользовался поддержкой Android Lean back support library.

Я добавил один ListView, но я не могу выбрать какой-либо элемент из спискаView с пультом реального устройства. Тем не менее, я могу выбрать элемент listView на своем Android-устройстве с помощью мыши.

Вот мой пример кода ListView:

customViewOrders = new CustomViewOrders(getActivity().getBaseContext(), arrayViewOrders); 
lstViewOrder.setAdapter(customViewOrders); 

Здесь arrayViewOrders мой ArrayList, который содержит данные, полученные от JSON WebService.

Вот мой JSON ответ:

{ 
    "order":[ 
     { 
     "0":"13829CF", 
     "gen_id":"13829CF", 
     "1":"17534CF", 
     "2":"Complete", 
     "ord_status":"Complete", 
     "3":"Online Preview", 
     "sta_name":"Online Preview", 
     "4":"2015-10-27 00:00:00", 
     "image":"cinereel", 
     "placed_from":"web" 
     } 
    ] 
} 

Я также добавил следующие особенности в AndroidManifest.xml файле:

<uses-feature 
    android:name="android.hardware.touchscreen" 
    android:required="false" /> 
<uses-feature 
    android:name="android.hardware.faketouch" 
    android:required="true" /> 

Итак, мой вопрос: как выбрать что-нибудь (т.е. элемент списка, кнопка) в реальном устройстве с помощью пульта дистанционного управления?

+0

Пожалуйста, добавьте ответ JSON, который вы получаете. – Kamal

+0

@Kamal - Я добавил ответ JSON. –

ответ

4

Наконец я получил решение после много R & D.

Вот мое решение для направленной навигации с помощью Android TV пульта дистанционного управления.

Во-первых, вы должны держать в фокусе любой из элементов (то есть Button, TextView и т. Д.), Как показано ниже.

А также, вы должны применять его nextFocusDown, nextFocusLeft, nextFocusRight & nextFocusUp свойства, так что она будет срабатывать свое соответствующее событие при нажатии кнопки пульта ДУ телевизора, кнопки навигации.

<Button 
    android:id="@+id/btnSignout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/tvUserName" 
    android:layout_marginTop="2dp" 
    android:layout_toLeftOf="@+id/ivUser" 
    android:width="100dp" 
    android:nextFocusRight="@+id/ivUser" <!-- On click of right arrow button, focus will be move to ivUser id --> 
    android:nextFocusUp="@+id/tvUserName" <!-- On click of up arrow button, focus will be move to tvUserName id --> 
    android:text="@string/signout" 
    android:textAppearance="?android:textAppearanceMedium"> 

    <requestFocus></requestFocus> 

</Button> 

Для получения дополнительной информации Вы можете обратиться к:

  1. Android User Interface Design: The Basics of Control Focus Order,
  2. Creating TV Navigation.
Смежные вопросы