Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] putExtras entre SherlockListActivity e Fragments

logcat?


Maicon Strey
Novo Hamburgo - RS - Brasil
------------------
------------------
Linux user: #525086


2013/1/7 Felippe dos Santos Ferreira <felippenasuacasa@gmail.com>
cara agora da um erro de nullpointexpeption que não consigo achar...

Em 6 de janeiro de 2013 14:28, Marcos Reis | .Mobi <marcos.reis@pontomobi.com.br> escreveu:

A velho foi mal.. acabei de ver aqui.. não tinha prestado atenção não.. mais assim, pelo poco q eu entendo o putExtra vc so vai conseguir passar quando vc evocar um startActvity como vc ta fazendo com fragment você pode fazer assim:

1 - declare um atributo String de escopo de classe que será o item clicado.
2 - crie um método getMesClicado() que retorne o atributo do passo 1.
3 - no seu fragment utilize para recuperar o valor o seguinte trecho:

    String mesClicadoActivityPai = ((SuaActiviyPrincipal) getSherlockActivity()).getMesClicado();

    this.mesclick.setText(mesClicadoActivityPai);

Acredito que dessa forma vc vai conseguir resolver seu problema, eu tive que fazer algo semelhante em um app que eu desenvolvi e consegui resolver o problema assim.

T+




-- 
Cordialmente,
Marcos Reis
Analista de Sistemas / Android

Pontomobi
Any screen,
Anywhere™

São Paulo | Rio | BH | Recife | London




On 06/01/2013, at 15:22, Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:

o erro é que não passa nada para a outra activity por put extras...


uma activity é ... MainActivity extends SherlockFragmentActivity(aqui te a lista clicada) a outra é Botoes extends Fragment (aqui recebe o item da lista clicada)

Em 6 de janeiro de 2013 15:12, Marcos Reis | .Mobi <marcos.reis@pontomobi.com.br> escreveu:
Qual o erro que ta te retornando.




-- 
Cordialmente,
Marcos Reis
Analista de Sistemas / Android

Pontomobi
Any screen,
Anywhere™

São Paulo | Rio | BH | Recife | London




On 06/01/2013, at 15:09, Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:

mudei um pouco o codigo da uma olhada....

//assim passa por put extras
        listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> adapter, View selectedItemView, int posicao,
                    long id) {
               
                Meses item = (Meses) listView.getAdapter().getItem(posicao);
                mesclicado = item.getNomemes().toString();
                Toast.makeText(getApplication(), mesclicado, 50).show();
               
                Botoes dpf = new Botoes();
                android.app.FragmentTransaction beginTransaction = getFragmentManager().beginTransaction();
                beginTransaction.replace(R.id.botoes_fragments, dpf, Botoes.class.getCanonicalName());
                       
                Bundle args = new Bundle();
                args.putString("NOMES", mesclicado);
                dpf.setArguments(args);
               
                beginTransaction.addToBackStack("botoes_fragments");
               
                beginTransaction.commit();   

                // quando pego o ida da erro.
                //Toast.makeText(getApplication(), item.getIdmes(), 500).show();
               
            }
        });


//assim tento receber
        textlistview = getActivity().getIntent().getStringExtra("NOMES");
        this.mesclick = (TextView) botoes.findViewById(R.id.textViewMesClicado);
        this.mesclick.setText(textlistview);

Em 6 de janeiro de 2013 15:00, Marcos Reis | .Mobi <marcos.reis@pontomobi.com.br> escreveu:
Cara me corrija se eu estiver errado, mas se este trecho do seu código estiver assim mesmo não irá funcionar nunca:

public class Botoes extends Fragment {
    private TextView mesclick;
    private String textlistview = null;

        //recebedo putextras o valor do text view
        textlistview = getActivity().getIntent().getStringExtra("NOMES");
        this.mesclick = (TextView) botoes.findViewById(R.id.textViewMesClicado);
        this.mesclick.setText("textlistview");

Repare que o seu mesclick.setText você está passando o nome do atributo em forma de string "textListView" você deveria passar:

this.mesclick.setText(textListView);

Acredito que dessa forma iria funcionar.

Qualquer coisa é só falar.

Abraços.



-- 
Cordialmente,
Marcos Reis
Analista de Sistemas / Android

Pontomobi
Any screen,
Anywhere™

São Paulo | Rio | BH | Recife | London




On 06/01/2013, at 12:06, Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:

public class Botoes extends Fragment {
    private TextView mesclick;
    private String textlistview = null;

        //recebedo putextras o valor do text view
        textlistview = getActivity().getIntent().getStringExtra("NOMES");
        this.mesclick = (TextView) botoes.findViewById(R.id.textViewMesClicado);
        this.mesclick.setText("textlistview");


--
 
 


--
 
 


--
 
 


--
 
 

--
 
 

--
 
 

--
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário