Barbioni, obrigado pela dica! O problema foi isso mesmo. Setei os focus com false e tudo funcionou numa "beleza de creuza".
Obrigado pela força, pois eu já estava ficando desesperado e bastante irritado com isso. hahahahahaha
________________
Geronildo Jr.
Em sábado, 26 de janeiro de 2013 16h49min57s UTC-3, rbarbioni escreveu:
Fala Geronildo.Ja passei por este problema...Quando inserimos componentes "Clicáveis" na view do adapter que popula o Listview, estes componentes tem "prioridade" no focus da linha.Faça esta configuração<CheckBoxandroid:id="@+id/checkBox1"android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:focusable="false"android:focusableInTouchMode="false" />E claro... implementa o listener do checkbox separado.[]rbarbioniEm 26 de janeiro de 2013 16:24, Geronildo Jr. <geron...@gmail.com> escreveu:
Pessoal, bom dia!Depois de muito pesquisar (inclusive aqui no grupo) e quase quebrar a cabeça, me rendi e estou aqui pedindo ajuda da comunidade.É o seguinte, eu tenho uma Activity que exibirá dados em uma ListView e eu preciso manipular outros dados da Activity que dependem de qual item da ListView eu clique (que possui 4 componentes: 1 CheckBox e 3 TextView). Até aqui vocês vão pensar: "pôh, é só criar uma lista de dados, alimentar o adapter que exibe os componentes das linhas do ListView e depois acessar os itens da lista pelo método setOnItemClickListener()". O problema é que o listener não está funcionando no meu código (que segue abaixo). Também tentei colocar o listener no getView() do meu adaptador (no CheckBox), mas me deparo com outro problema: não importa em qual item da lista eu click, qualquer evento fica associado ao ultimo item da lista.Help, please!XML (dos Itens que serão exibidos no ListView):<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android "android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="0dp"android:paddingTop="5dp"android:paddingRight="5dp"android:paddingBottom="5dp"android:orientation="vertical"android:background="@color/fundo_transparente_cinza" > <LinearLayoutandroid:layout_width="match_parent" android:layout_height="wrap_content" > <TextViewandroid:id="@+id/id"style="@style/label"android:visibility="gone" /><CheckBoxandroid:id="@+id/produto"style="@style/label_pequeno"android:layout_height="30dp"android:layout_weight="1"android:text="@string/teste_produto" /> <TextViewandroid:id="@+id/valor"style="@style/label_pequeno"android:layout_height="30dp"android:layout_weight="2"android:gravity="right"android:text="@string/teste_valor" /> </LinearLayout><LinearLayoutandroid:layout_width="match_parent" android:layout_height="wrap_content" > <TextViewandroid:id="@+id/qtd"style="@style/label_pequeno_pedido" android:layout_weight="3"android:gravity="right"android:text="@string/teste_qtd" /> <TextViewstyle="@style/label_pequeno_pedido" android:layout_weight="3"android:gravity="center"android:text="@string/label_x" /><TextViewandroid:id="@+id/valor_unitario" style="@style/label_pequeno_pedido" android:layout_weight="1"android:gravity="left"android:text="@string/teste_valor_unitario" /> </LinearLayout></LinearLayout>Activity (que exibe a ListView):..public void onCreate(Bundle savedStateInstance){...lvItensPedido = (ListView)findViewById(R.id.produtos); cbProduto = (CheckBox)findViewById(R.id.produto); tvQtdTotalProduto = (TextView)findViewById(R.id.qtd); tvValorTotalProduto = (TextView)findViewById(R.id.valor); tvValorUnitarioProduto = (TextView)findViewById(R.id.valor_unitario); ]//onCreate()public void onResume(){...List<PedidoItem> itensPedido = listaItensPedido(pedido.id);ArrayAdapter<PedidoItem>itensAdapter = new PedidoItemAdapter(this, R.layout.pedido_item, itensPedido); lvItensPedido.setAdapter(itensAdapter); lvItensPedido.setOnItemClickListener(new OnItemClickListener() { @Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id){String item = ((CheckBox)view).getText().toString(); Log.i(TAG, "item da lista clicado: " + item);}});}PedidoItemAdapter (meu adapter para povoar o ListView):public class PedidoItemAdapter extends ArrayAdapter<PedidoItem> {public static final String TAG = "ArtFoto";public final LayoutInflater inflater;public final Context context;public final int resourceId;public static CheckBox cbProduto;public TextView tvId, tvValorUnitario, tvQtd, tvValorTotal;public static PedidoItem item;public PedidoItemAdapter(Context context, int resource, List<PedidoItem> produtos){super(context, resource, produtos);this.inflater = LayoutInflater.from(context);this.resourceId = resource;this.context = context;}@Overridepublic View getView(int position, View view, ViewGroup parent){item = getItem(position);view = inflater.inflate(resourceId, parent, false);tvId = (TextView)view.findViewById(R.id.id );cbProduto = (CheckBox)view.findViewById(R.id.produto); tvValorUnitario = (TextView)view.findViewById(R.id.valor_unitario); tvQtd = (TextView)view.findViewById(R.id.qtd); tvValorTotal = (TextView)view.findViewById(R.id.valor); tvId.setText(String.valueOf(item.id ));cbProduto.setText(item.nomeProduto); cbProduto.setChecked(true);tvValorUnitario.setText(String.format("%.2f", item.valorUnitario)); tvQtd.setText(String.valueOf(item.qtd)); tvValorTotal.setText(String.format("%.2f",item.valorTotal) ); return view;}}Atenciosamente,
Geronildo Jr.Oi (81) 8841-8472 || TIM (81) 9521-8332Facebooks: Geronildo Junior || GeronDesignSites: geronildojr.com || gerondesign.com






0 comentários:
Postar um comentário