Não. Me expressei mal. O motivo de usar o finish está claro. O que pareceu curioso foi o resto. :) ListaTabelaPreco.this
-Bruno
Em 1 de março de 2013 09:32, Guilherme Bernardi <gui.bernardi09@gmail.com> escreveu:
Obrigado pela atenção de todos.Bruno a intenção do ListaTabelaPreco.this.finish() é exatamente o que o Diogo explicou.Pessoal consegui resolver:Minha estrutura está assim:CadastroCliente (FragmentActivity) com ActionBar e Tabs.Em cada Tab eu carrego 1 Fragment (CadastroClienteDados, CadastroClienteEntrega, CadastroClienteCobranca).
E no Fragment (CadastroClienteDados) eu tenho um botão que chama uma ListActivity (ListaTabelaPreco)Essa lista me mostra vários itens, quando eu seleciono um. Eu preciso devolver o código selecionado para construir meu objeto TabelaPreco.Então eu fiz da seguinte maneira, continuo chamando a ListActivity no meu Fragment:private OnClickListener onConsultarTabelaPreco = new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubtry {Intent troca = new Intent(getActivity(), ListaTabelaPreco.class);getActivity().startActivityForResult(troca, 3);} catch (Exception e) {// TODO: handle exceptionToast.makeText(getActivity().getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show();}}};E devolvo o Item selecionado na minha ListActivity:@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) {// TODO Auto-generated method stubsuper.onListItemClick(l, v, position, id);Intent troca = new Intent(ListaTabelaPreco.this, CadastroClienteDados.class);TabelaPreco tabelaPreco = (TabelaPreco) this.getListAdapter().getItem(position);troca.putExtra("codigoTabelaPreco", tabelaPreco.getCodigo());setResult(RESULT_OK, troca);ListaTabelaPreco.this.finish();}Só que acho que era marcação minha mesmo, porque desde o começo eu controlo as ações dos Fragments de modo hierárquico então o meu FragmentActivity cuida das ações e validações dos Fragments que ficam dentro de seus Tabs.Então a única coisa que eu fiz, foi na chamada da ListActivity trocar:startActivityForResult(troca, 3); por getActivity().startActivityForResult(troca, 3);E então receber o retorno no onActivityResult da FragmentActivity:if(resultCode==RESULT_OK){fragDados = (CadastroClienteDados) fm.findFragmentByTag("dados");fragDados.tabelaPreco = new TabelaPreco(data.getIntExtra("codigoTabelaPreco", 0));fragDados.cliente.setTabelaPreco(fragDados.tabelaPreco);}else if(resultCode==RESULT_CANCELED) {Toast.makeText(getBaseContext(), "Pesquisa Tabela Preço Cancelada!", Toast.LENGTH_LONG).show();}Agora está funcionando corretamente.Obrigado mesmo assim pela atenção de todos.On Thursday, February 28, 2013 5:08:45 PM UTC-3, Guilherme Bernardi wrote:Pessoal, boa tarde.Estou tentando fazer a chamada do onActivityResult() dentro de um Fragment e não estou conseguindo.Eu tenho a seguinte estrutura:FragmentActivity que chama um Fragment e neste Fragment eu tenho um botão que chama uma ListActivity, esta list por sinal retorna um objeto para o Fragment para exibi-lo em tela.O código está dessa maneira:Função do Fragment que chama a ListActivity:private OnClickListener onConsultarTabelaPreco = new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubtry {Intent troca = new Intent(getActivity(), ListaTabelaPreco.class);startActivityForResult(troca, 1);} catch (Exception e) {// TODO: handle exceptionToast.makeText(getActivity().getBaseContext(), e.getMessage(), Toast.LENGTH_LONG).show();}}};ItemClick da ListActivity chamada:@Overrideprotected void onListItemClick(ListView l, View v, int position, long id) {// TODO Auto-generated method stubsuper.onListItemClick(l, v, position, id);Intent troca = new Intent(ListaTabelaPreco.this, CadastroClienteDados.class);TabelaPreco tabelaPreco = (TabelaPreco) this.getListAdapter().getItem(position);troca.putExtra("codigoTabelaPreco", tabelaPreco.getCodigo());setResult(RESULT_OK, troca);ListaTabelaPreco.this.finish();}E ai estou tentando chamar o onActivityResult no Fragment, mas ele parece que não possui este método.Alguém saberia como controlar o resultado de uma ListActivity desta forma que está estruturado?Obrigado desde já.--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
0 comentários:
Postar um comentário