android listview cor da linha alternativa, MAS com a seleção padrão do cursor
estive em toda a web, incluindo o stackoverflow e simplesmente não conseguimos obter uma maneira clara e completa de
Quero criar um ListView que
1) possui cores alternadas (sou capaz de fazer isso com o código abaixo) 2) mantém o comportamento padrão de seleção de laranja do android
para obter # 1 Eu tenho um adaptador personalizado que estende o ArrayAdapter e, em seguida, substitui o getView da seguinte form
public View getView(int position, View convertView, ViewGroup parent)
{
....
// tableLayoutId is id pointing to each view/row in my list
View tableLayoutView = view.findViewById(R.id.tableLayoutId);
if(tableLayoutView != null)
{
int colorPos = position % colors.length;
tableLayoutView.setBackgroundColor(colors[colorPos]);
}
}
variável de membro @my para cores é
private int[] colors = new int[] { 0x30ffffff, 0x30ff2020, 0x30808080 };
seguiu o artigo "Android - Aplicando cores de linhas alternativas no ListView com SimpleAdapter" encontradoAqu
agora é onde estou preso, vejo no stackoverflow alguma menção a fazer isso como seria comum, e eles sugerem a adição desse atributo ao
android: listSelector = "@ color / list_item"
where list_item.xml seria algo como
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@drawable/transparent" />
.....
</selector>
Então eu teria que adicionar código ao getView () para descobrir em que estado estou e agir de acord
Existe um exemplo para fazer isso funcionar? Obrigado a todos que eu vou postar o meu com prazer para que todos possam usar se eu conseguir fazê-lo funcionar. : -