ListView Android não permite seletor para trabalhar, nem permite que as seleções
-
14-11-2019 - |
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
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,
Editado
Oh *%#$ Resolvido, Necessário para definir a RelativeLayouts Add State from Children = true;