Pergunta

Ok, eu sei que isso pode soar como qualquer outras questões relacionadas com o ListView e ListActivity questões, mas não é isso, eu vou ficar louco, como eu, no passado, a semana passou e na pesquisa de todos os pós para encontrar qualquer solução para esse que pode me ajudar.Já tentei Item ListView plano de fundo personalizado através de seletor e GetView Vs.BindView em um personalizado CursorAdapter? todos os outros possíveis blogs, sites...

Tudo bem o problema, Meu listView para um 1 não permite a seleção/eventos de incêndio e 2.não vai mudar a linha realce quando um item é clicado.Eu tenho um padrão TestActivity estendendo-se ListActivity e eu tenho implementado um Costume TestCursorAdapter extends SimpleCursorAdapter

Agora em XML lado de coisas que eu tenho em test_list_view.xml e segundo row_view.xml Agora eu segui o acima menciona e implementar respostas selector como row_selector.xml.Mas o problema é para uma das linhas não aceita qualquer clique ou eventos de foco.Eu implementada uma base de brinde para indicar se há alguma coisa acontecendo

@Override
protected void onListItemClick(ListView l, View v , int postion, long idontnow){
    Toast.makeText(getApplicationContext(), "Hello World",  Toast.LENGTH_SHORT ).show();
}

parte de test_list_view.xml

<ListView android:id="@android:id/list" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true" 
    android:cacheColorHint="#00000000"
    android:focusable="true" 
    android:listSelector="@color/row_selector" 
    android:background="@color/Transparent"/>

parte de selector.xml (basicamente copiado e colado a partir de um dos referidos links)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" 
        android:drawable="@color/Transparent" />
    <item 
        android:state_focused="true"
        android:state_enabled="false"
        android:state_pressed="true" 
        android:drawable="@color/green" />
    <item 
        android:state_focused="true"
        android:state_enabled="false"      
        android:drawable="@color/green" />
    <item 
        android:state_focused="true"
        android:state_pressed="true" 
        android:drawable="@color/blue" />
    <item 
        android:state_focused="false"
        android:state_pressed="true" 
        android:drawable="@color/blue" />
    <item 
        android:state_focused="true" 
        android:drawable="@color/green" />
    <item 
        android:state_selected="true" 
        android:drawable="@color/blue" />
    <item 
        android:drawable="@color/Transparent" />
</selector>

Eu segui todas as opções que eu estou ciente e nada ainda. A única grande diferença é gente eu não estou usando getView em vez disso, eu estou usando bindView.

Qualquer ajuda que vocês vão ser muito apreciados.

obrigado antecipadamente.

Sanj

Foi útil?

Solução

Eu sugiro que você remova o android:focusable="true" do ListView.

Além disso, você pode usar o selector como a cor de fundo os itens que são exibidos na ListView.Também certifique-se de que esses elementos não estão ligando onClick ou onTouch ou algo como isso, e deixar a ListView lidar com os eventos de clique.

Espero que isso ajude

EDITAR:

para o seu problema com a seleção do item de uso

lv.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            yourMethod();
        }
    });

Outras dicas

a seguir raukodraug a sugestão e pós ListView OnItemClickListener Não Está A Responder?

Outro fato, como mencionado usar bindView o método, eu usei

view.setClickable(true);
view.setFocusable(true); 

o item, clique em tipo de trabalhos, apenas se você clicar sobre a região marcada assinalados em Amarelo e o ImageView.Eu deveria ser capaz de descobrir isso graças,

enter image description here

Editado

Oh *%#$ Resolvido, Necessário para definir a RelativeLayouts Add State from Children = true;

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top