Veja só, eu não sei muito bem o que este getTag esta fazendo...rs
Eu não estava acertando fazer essa implementação do click do checkbox num adapter então procurei na net e estava tentando adaptar, mas pelo visto não esta funcionando muito bem.
Você teria algum exemplo que você tenha feito para poder me passar??
Essa já é a segunda vez que tendo utilizar um checkbox em uma listview sem sucesso. =/
--
Luiz Gustavo S. Mafra
Bacheralando em Ciência da Computação - UESC
+55 73 8142 3045
Em 26 de março de 2012 20:49, Neto Marin <netomarin@gmail.com> escreveu:
A abordagem está, não vejo nenhum problema.
Tanto que o CheckBox não está nulo, quem está nulo é a tag que vc está buscando. Se o checkbox estivesse nulo, o nullpointer seria na linha getTag.
O q é esse Tag? O q vc quer obter com ele?
[]s
Neto
---
Neto Marin
Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin
On Mon, Mar 26, 2012 at 8:46 PM, Luiz Gustavo Mafra <lgmafra@gmail.com> wrote:
Neto, esta realemente retornando null...Essa abordagem que usei esta correta??Em 26 de março de 2012 20:41, Neto Marin <netomarin@gmail.com> escreveu:
Luiz, faz um debug e tenta ver se o código
ContatosImportar ciImp = (ContatosImportar)cb.getTag();
Está retornando alguma coisa. Pois o erro q está dando é um nullpointer né...
[]s
Neto
---
Neto Marin
Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin
On Mon, Mar 26, 2012 at 8:36 PM, Luiz Gustavo Mafra <lgmafra@gmail.com> wrote:
A linha 66 contem o seguinte codigoToast.makeText(context, ciImp.getFoneContato(), Toast.LENGTH_SHORT).show();Em 26 de março de 2012 20:34, Neto Marin <netomarin@gmail.com> escreveu:
Desculpe, o número das linhas, ou destaque a linha q ele fala que da o NullPointer, que é a linha 66:
ContatosImportarAdapter.java:66
[]s
---
Neto Marin
Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin
On Mon, Mar 26, 2012 at 8:32 PM, Luiz Gustavo Mafra <lgmafra@gmail.com> wrote:
Você fala o metodo getView?? se sim segue@Overridepublic View getView(int position, View view, ViewGroup viewGroup) {final ContatosImportar entrada = listContatosImport.get(position);if(view == null){LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);view = inflater.inflate(R.layout.contatosimportar, null);}TextView idContato = (TextView)view.findViewById(R.id.idContato);idContato.setText(entrada.getIdContato());TextView nomeContato = (TextView)view.findViewById(R.id.lblNomeContato);nomeContato.setText(entrada.getNomeContato());TextView foneContato = (TextView)view.findViewById(R.id.lblFoneContato);foneContato.setText(entrada.getFoneContato());CheckBox chkSelecContato = (CheckBox)view.findViewById(R.id.chkSelecContato);chkSelecContato.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {CheckBox cb = (CheckBox)view;ContatosImportar ciImp = (ContatosImportar)cb.getTag();Toast.makeText(context, ciImp.getFoneContato(), Toast.LENGTH_SHORT).show();}});return view;}Em 26 de março de 2012 20:29, Neto Marin <netomarin@gmail.com> escreveu:
coloca as linhas do seu código, ai fica mais facil ver onde está o nullpointer.
[]s
---
Neto Marin
Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin
On Mon, Mar 26, 2012 at 8:26 PM, Luiz Gustavo Mafra <lgmafra@gmail.com> wrote:
Estou fazendo isso no getView mas a aplicação esta dando erro.Estou fazendo da seguinte forma:CheckBox chkSelecContato = (CheckBox)view.findViewById(R.id.chkSelecContato);chkSelecContato.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {CheckBox cb = (CheckBox)view;ContatosImportar ciImp = (ContatosImportar)cb.getTag();Toast.makeText(context, ciImp.getFoneContato(), Toast.LENGTH_SHORT).show();}});e ai da o seguinte erro:03-26 23:25:22.973: E/AndroidRuntime(460): Uncaught handler: thread main exiting due to uncaught exception03-26 23:25:22.994: E/AndroidRuntime(460): java.lang.NullPointerException03-26 23:25:22.994: E/AndroidRuntime(460): at com.simpatico.agenda.ContatosImportarAdapter$1.onClick(ContatosImportarAdapter.java:66)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.View.performClick(View.java:2364)03-26 23:25:22.994: E/AndroidRuntime(460): at android.widget.CompoundButton.performClick(CompoundButton.java:98)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.View.onTouchEvent(View.java:4179)03-26 23:25:22.994: E/AndroidRuntime(460): at android.widget.TextView.onTouchEvent(TextView.java:6540)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.View.dispatchTouchEvent(View.java:3709)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)03-26 23:25:22.994: E/AndroidRuntime(460): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)03-26 23:25:22.994: E/AndroidRuntime(460): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)03-26 23:25:22.994: E/AndroidRuntime(460): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)03-26 23:25:22.994: E/AndroidRuntime(460): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)03-26 23:25:22.994: E/AndroidRuntime(460): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)03-26 23:25:22.994: E/AndroidRuntime(460): at android.os.Handler.dispatchMessage(Handler.java:99)03-26 23:25:22.994: E/AndroidRuntime(460): at android.os.Looper.loop(Looper.java:123)03-26 23:25:22.994: E/AndroidRuntime(460): at android.app.ActivityThread.main(ActivityThread.java:4363)03-26 23:25:22.994: E/AndroidRuntime(460): at java.lang.reflect.Method.invokeNative(Native Method)03-26 23:25:22.994: E/AndroidRuntime(460): at java.lang.reflect.Method.invoke(Method.java:521)03-26 23:25:22.994: E/AndroidRuntime(460): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)03-26 23:25:22.994: E/AndroidRuntime(460): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)03-26 23:25:22.994: E/AndroidRuntime(460): at dalvik.system.NativeStart.main(Native Method)Em 26 de março de 2012 20:07, Neto Marin <netomarin@gmail.com> escreveu:
Como você tem um elemento clicável na célula, o listener definido no Adapter não da certo. Então, no getView do Adapter eu defino o listener no checkbox.
[]s
Neto
---
Neto Marin
Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin
On Mon, Mar 26, 2012 at 7:28 PM, Luiz Gustavo Mafra <lgmafra@gmail.com> wrote:
Nesse caso você criou o onClickListener() dentro da classe adapter ou na classe que é montada a listview??Em 25 de março de 2012 21:35, Neto Marin <netomarin@gmail.com> escreveu:
Eu já fiz algo assim, resolvi colocando um listener nos checkbox e atualizando um array de boolean, com os mesmo indíces do array de objetos que renderizam a lista.Ai na ação do botão, eu percorro esse array de boolean e sei o indice que quem está com checked.[]sNeto
---
Neto Marin
Blog: http://blog.netomarin.com
GTalk: netomarin@gmail.com
MSN: neto_marin@hotmail.com
Skype: netomarin
On Sun, Mar 25, 2012 at 9:29 PM, Luiz Gustavo Mafra <lgmafra@gmail.com> wrote:Pessoal,Tenho uma listview onde nela existem dois TextView e um CheckBox e um botão no rodapé do layout.Gostaria de saber como faço para no onClick do meu botão eu percorrer a ListView e pegar os valores contidos nos TextView somente quando o CheckBox estiver checado.Att,--
Luiz Gustavo S. Mafra
Bacheralando em Ciência da Computação - UESCProgramador PHP, dotNet, AndroidSite: www.lgmafra.com.brtwitter: @lgmafraskype: lgmafra
--
Luiz Gustavo S. Mafra
Bacheralando em Ciência da Computação - UESCProgramador PHP, dotNet, AndroidSite: www.lgmafra.com.brtwitter: @lgmafraskype: lgmafra
--
Luiz Gustavo S. Mafra
Bacheralando em Ciência da Computação - UESCProgramador PHP, dotNet, Android
Site: www.lgmafra.com.brtwitter: @lgmafraskype: lgmafra
--
Luiz Gustavo S. Mafra
Bacheralando em Ciência da Computação - UESCProgramador PHP, dotNet, Android
Site: www.lgmafra.com.brtwitter: @lgmafraskype: lgmafra
--
Luiz Gustavo S. Mafra
Bacheralando em Ciência da Computação - UESCProgramador PHP, dotNet, Android
Site: www.lgmafra.com.brtwitter: @lgmafraskype: lgmafra
--
Luiz Gustavo S. Mafra
Bacheralando em Ciência da Computação - UESCProgramador PHP, dotNet, Android
Site: www.lgmafra.com.brtwitter: @lgmafraskype: lgmafra
Luiz Gustavo S. Mafra
Bacheralando em Ciência da Computação - UESC
Programador PHP, dotNet, Android
+55 73 8142 3045
+55 73 8838 9639
+55 73 8869 9799
+55 73 8869 9799
Site: www.lgmafra.com.br
twitter: @lgmafra
skype: lgmafra






0 comentários:
Postar um comentário