Estoy desarrollando una aplicación para android TV. Tengo un listview con un ImageButton + Textviews como los niños. Como la TV no tome eventos de toque, pero utiliza el D-PAD o la bola de seguimiento remoto tengo que conseguir el foco puede hacer clic en todos los elementos de forma que el usuario sabe en donde el foco es. Pero el problema es que puede obtener el foco en la fila de lista si puedo añadir

android:descendantFocusability="blocksDescendants"

en la lista personalizada fila de diseño pero ImageButton en la fila de la lista no va a obtener el foco.
Y si puedo eliminar el código de arriba, a continuación, ImageButton obtiene el foco pero no puedo clic en lista de fila.

También he añadido setItemsCanFocus para mi ListView pero no hubo suerte, nada ha cambiado.
He leído muchos documentos, pero no pude encontrar una respuesta apropiada para este problema. Quiero enfocar en fila de Lista, así como ImageButton. Es posible que, si alguno sabe por favor que me ayude…

InformationsquelleAutor nidhi_adiga | 2013-03-06

5 Comentarios

  1. 20

    Tengo que conseguir el foco puede hacer clic en todos los elementos de forma que el usuario sabe en donde el foco es. Pero el problema es que puede obtener el foco en la fila de lista si puedo añadir

    Ver llegar colgar debido a los múltiples puntos de vista dentro de la fila de archivo, para obtener haga clic en tienes Que añadir uno más de la propiedad a su plano principal de la fila de xml.

    android:descendantFocusability="blocksDescendants

    Pero cuando escribo sobre propiedad entonces yo no soy capaz de concentrarse ImageButton que está en mi fila de archivo.

    Acabo de intentar una forma de lograr obtener foucus en ImageButton así como en listview.

    Para obtener el foco en ImageButton:

    1. Crear un selector de archivos.
    2. Aplicado en Imagebutton.
    3. Añadido android:focusableInTouchMode="true" a ImageButton.

    Para obtener el foco en Listview:

    1. Agregar android:descendantFocusability="blocksDescendants a disposición dentro de la fila de xml.

    Ahora, cuando haga clic en el ImageButton se concentrará con su deseo de color, incluso se centrará en la listview haga clic en demasiado.

    Selecotor.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector 
        xmlns:android="http://schemas.android.com/apk/res/android"
        >
        <item 
            android:state_pressed="true"
            android:drawable="@android:color/transparent" 
            /> <!-- pressed -->    
        <item 
            android:state_focused="true"
            android:drawable="@android:color/darker_gray" 
            /> <!-- focused -->    
        <item 
            android:drawable="@android:drawable/btn_star" 
            /> <!-- default -->
    </selector>

    Probado en el S3 emulador, funciona bien.

    • Hice todas estas cosas, pero no su trabajo en la nexus 7 emulador, así como en la TELEVISIÓN. Creo que es porque no hay toque de la pantalla de TV para android:focusableInTouchMode=»true» no está funcionando
    • Su trabajo demasiado en nexus 7 emulador.
    • Es el foco de ir a la fila de lista y el botón de…?
    • sí llegar enfoque para tanto, ¿has probado a mi manera?
    • ya pero yo probaré una vez más n volver a usted…
    • esto funcionó bien para mí. gracias

  2. 6

    Yo tenía el mismo problema de antes. He resuelto mi problema con la adición de (para el layout en xml)

    android:focusableInTouchMode="true"
    android:clickable="true"

    Así que mi problema estaba resuelto.

    Nota: la Adición de sólo android:focusableInTouchMode=»true» no funciona, Usted debe tener para hacer el diseño puede hacer clic cierto, después de focusableInTouchMode verdadero.

  3. 4

    Tuve el mismo problema en la vista de lista, pero he encontrado la solución,simplemente utiliza el imageView en lugar del botón de la imagen, a continuación, fila se puede hacer clic y seleccionable así.

    NOTA: siempre que utilice el botón o imagebutton en la vista de lista de la fila de la vista de lista se pone desactivar para evitar que esto ocurra utilizar la vista o imageview lugar.

    Espero esto te ayude.

    • No pude conseguir el ImageButton trabajar incluso con todas las sugerencias comentarios, pero esto funcionó.
  4. 3

    Añadir a continuación el código a los padres de diseño de fila personalizada,

    android:descendantFocusability="blocksDescendants"

    y añadir a continuación el código a cualquier botón o ImageButton en que el diseño

    android:focusable="false"
    android:focusableInTouchMode="false"
  5. 1

    ¿Has probado :

    setFocusableInTouchMode(false);

    o

    setFocusable(false);

    Tanto en sus elementos (ImageButton y TextView) ?

    • Gracias por tu tiempo, pero si el usuario no puede concentrarse, a continuación, con control remoto usuario no saber si él está en la correcta ImageButton…

Dejar respuesta

Please enter your comment!
Please enter your name here