O estado selected não ocorre quando o item é tocado, apenas quando é
selecionado via DPAD.
Para obter o mesmo comportamento:
myListView.setOnItemClickListener(this);
E faça 'this' implementar a interface OnItemClickListener setando o
item como selecionado:
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
arg1.setSelected(true);
}
Não esquecer de resetar esta seleçao qdo for apropriado.
JPMagalhaes.
On Jan 3, 10:42 am, luciofm <luci...@gmail.com> wrote:
> Como já falei a partir do HC (3.0) existe o estado android:state_activated que
> pode ser usado para selecionar o background de um item selecionado.
>
> Antes disso, você vai ter que estender o Layout basico que você usa para
> cada item da lista e implementar Checkable nele...
>
> public class CheckableLinearLayout extends LinearLayout implements
> Checkable {
>
> }
>
> e a partir do status de checado ou não, setar o Background correto.
>
> Lúcio Maciel
> luci...@gmail.com
>
> 2012/1/3 Marcelo Henrique <marceloh...@gmail.com>
>
>
>
>
>
>
>
> > Voce esta setando pelo XML. se nao falo besteira ja tento setar pelo Java ?
>
> > Em 3 de janeiro de 2012 10:30, Felipe Costa <felipe...@gmail.com>escreveu:
>
> > Realizei testes com estes estados e tambem foi sem sucesso, acho que
> >> não é possivel manter a cor de uma linha diferente das demais...
>
> >> Felipe Costa
> >> Analista de Sistemas
> >> Mobile Solution Tecnology
> >> Belo Horizonte
>
> >> On 2 jan, 19:38, JPMagalhaes <jaulo...@gmail.com> wrote:
> >> > Felipe, testa colocar os estados focused e selected, acredito que seja
> >> > um deles embora nao possa testar agora.
> >> > []'s
> >> > JPMagalahes.
>
> >> > On Jan 2, 4:33 pm, Felipe Costa <felipe...@gmail.com> wrote:
>
> >> > > JPMagalhaes,
>
> >> > > Atravez do selector consigo controlar a cor que a linha deve ficar
> >> > > quando clicada atravez do estado (<item> android:drawable="@color/
> >> > > cor_selecionado" android:state_pressed="true"/>), porem apos a linha
> >> > > volta para a cor do fundo da lista, necessito que esta linha fique com
> >> > > a cor que foi definido neste estado, para que possa ser visivel que
> >> > > esta linha esta selecionada, isto é possivel? Aguardo resposta.
>
> >> > > Felipe Costa
> >> > > Analista de Sistemas
> >> > > Mobile Solution Technology
> >> > > Belo Horizonte
>
> >> > > On 2 jan, 15:20, Derci Santos <derciii.l...@gmail.com> wrote:
>
> >> > > > Boa tarde JPMagalhaes,
>
> >> > > > Sobre a terceira opção do meu selector (<item
> >> > > > android:drawable="@color/Azul" android:state_pressed="true"/>) eu já
> >> > > > coloquei como true, o que aconteceu foi que eu anexei o arquivo
> >> antes de
> >> > > > salvar, mas o problema ocorre mesmo assim.
> >> > > > Vou tentar explicar melhor o que acontece, através de prints que
> >> tirei
> >> > > > da tela do emulador.
>
> >> > > > 1º) A cor de Background da minha tela é branca, como mostra a
> >> imagem a
> >> > > > seguir:http://yfrog.com/obw573p
> >> > > > Nessa imagem não tem nada selecionado ou pressionado.
>
> >> > > > 2º) Isso é o que acontece quando eu faço a rolagem (scrollar) da
> >> lista:http://yfrog.com/nvoj8p
> >> > > > Pode ver que ela fica toda preta a background. Esse problema foi
> >> resolvido
> >> > > > com android:cacheColorHint="@color/Branco"
>
> >> > > > 3º) Da forma que está a conf do selector era pra funcionar da forma
> >> > > > correta, mas acontece o seguinte quando eu seleciono um registro na
> >> lista:http://yfrog.com/ocjfvp
> >> > > > Podem ver que a linha selecionada fica branca e o restrante da
> >> tabela fica
> >> > > > Azul (isso nem sempre acontece, algumas vezes pode clicar nas
> >> linhas que
> >> > > > não muda de cor). Tentei inverter a configuração, mas quando
> >> inverte, nada
> >> > > > acontece, pode clicar em qualquer linha que não muda a cor.
>
> >> > > > Meu ListView está da seguinte forma:
>
> >> > > > <ListView
> >> > > > android:id="@+id/lvClientesLista"
> >> > > > android:layout_width="fill_parent"
> >> > > > android:layout_height="wrap_content"
> >> > > > android:layout_alignParentLeft="true"
> >> > > > android:layout_below="@+id/linearLayout1"
>
> >> android:listSelector="@drawable/clientes_color_state_listview"
> >> > > > android:cacheColorHint="@color/Branco" >
> >> > > > </ListView>
>
> >> > > > Meu Selector:
>
> >> > > > <?xml version="1.0" encoding="utf-8"?>
> >> > > > <selector xmlns:android="http://schemas.android.com/apk/res/android
> >> ">
>
> >> > > > <item android:drawable="@color/Branco"
> >> android:state_pressed="false"
> >> > > > android:state_selected="false"/>
> >> > > > <item android:drawable="@color/Gray"
> >> android:state_pressed="false"
> >> > > > android:state_selected="true"/>
> >> > > > <item android:drawable="@color/Azul"
> >> android:state_pressed="true"/>
>
> >> > > > </selector>
>
> >> > > > O layout da minha lista:
>
> >> > > > <?xml version="1.0" encoding="utf-8"?>
> >> > > > <LinearLayout xmlns:android="
> >>http://schemas.android.com/apk/res/android"
> >> > > > android:layout_width="fill_parent"
> >> > > > android:layout_height="fill_parent"
> >> > > > android:orientation="horizontal"
> >> > > > android:paddingTop="5dp" >
>
> >> > > > <TextView
> >> > > > android:id="@+id/tvClientesListaCol1"
> >> > > > android:layout_width="wrap_content"
> >> > > > android:layout_height="wrap_content"
> >> > > > android:height="25dp"
> >> > > > android:textColor="@color/Preto"
> >> > > > android:width="70dp" />
>
> >> > > > <TextView
> >> > > > android:id="@+id/tvClientesListaCol2"
> >> > > > android:layout_width="wrap_content"
> >> > > > android:layout_height="wrap_content"
> >> > > > android:height="20dp"
> >> > > > android:textColor="@color/Preto"
> >> > > > android:width="220dp" />
>
> >> > > > <TextView
> >> > > > android:id="@+id/tvClientesListaCol3"
> >> > > > android:layout_width="wrap_content"
> >> > > > android:layout_height="wrap_content"
> >> > > > android:height="25dp"
> >> > > > android:textColor="@color/Preto"
> >> > > > android:paddingLeft="5dp"/>
>
> >> > > > </LinearLayout>
>
> >> > > > O que será que estou fazendo de errado? Visivelmente tudo parece
> >> estar
> >> > > > correto.
>
> >> > > > Agradeço a atenção.
>
> >> > > > Att,
> >> > > > Derci Santos
>
> > --
> > - Marcelo Henrique -
> > "Se não puder se destacar pelo talento, vença pelo esforço." (Dave
> > Weinbaum)
0 comentários:
Postar um comentário