2016-01-11 9 views
5

Attualmente sto lavorando all'app Android TV.App TV Android - impossibile selezionare la voce di elenco con il telecomando

Ho utilizzato la libreria di supporto per Android Lean back.

Ho aggiunto uno ListView, ma non riesco a selezionare alcun elemento da listView con il telecomando del dispositivo reale. Tuttavia, sono in grado di selezionare la voce di listView sul mio dispositivo virtuale Android con l'aiuto del mouse.

Ecco il mio codice di esempio di listView:

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

Qui, arrayViewOrders è la mia ArrayList che contiene i dati ricevuti da JSON webservice.

Qui è la mia risposta 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" 
     } 
    ] 
} 

Ho anche aggiunto le seguenti caratteristiche in AndroidManifest.xml di file:

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

Quindi, la mia domanda è: come selezionare nulla (vale a dire voce dell'elenco, pulsante) nel dispositivo reale con l'aiuto del telecomando?

+0

Per favore aggiungi la risposta JSON che stai ricevendo .. – Kamal

+0

@Kamal - Ho aggiunto la risposta JSON. –

risposta

4

Finalmente ho avuto la soluzione dopo un sacco di R & D.

Ecco la mia soluzione per la navigazione direzionale usando Android telecomando del televisore.

In primo luogo, è necessario mantenere a fuoco uno degli elementi (ad esempio Button, TextView, ecc.) Come indicato di seguito.

E inoltre, è necessario applicare i suoi nextFocusDown, nextFocusLeft, nextFocusRight & nextFocusUp proprietà, in modo che il fuoco il suo evento rilevante quando si fa clic su TV pulsanti di navigazione a distanza.

<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> 

Per ulteriori informazioni, è possibile consultare:

  1. Android User Interface Design: The Basics of Control Focus Order,
  2. Creating TV Navigation.
Problemi correlati