Tecnologia do Blogger.
RSS

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

Desculpe,


Acho que não fui claro.

Manda por favor o codigo .java da sua Main e do seu fragment, estou com uma pequena suspeita mas so preciso confirmar..

Abraço


-- 
Cordialmente,
Marcos Reis
Analista de Sistemas / Android

Pontomobi
Any screen,
Anywhere™

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





On Jan 7, 2013, at 10:14 , Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:

public class MainActivity extends SherlockFragmentActivity

olha o xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:layout_width="248dp"
        android:layout_height="fill_parent"
        android:padding="5dp" >

        <ListView
            android:id="@+id/android:list"
            android:layout_width="223dp"
            android:layout_height="match_parent"
            android:layout_marginLeft="2dp"
            android:background="@color/corner"
            android:divider="@color/list_divider"
            android:clickable="true"
            android:focusableInTouchMode="true"
            android:footerDividersEnabled="true"
            android:headerDividersEnabled="true"
            android:cacheColorHint="#00000000"
            android:listSelector="@color/list_selector"
            android:dividerHeight="1dp"
            android:fadeScrollbars="false"
            android:padding="10dp"
            android:textColor="@color/text_bg"
            tools:listitem="@layout/umitemdalistameses" >
        </ListView>
    </LinearLayout>

    <FrameLayout
        android:id="@+id/botoes_fragments"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>

</LinearLayout>


Em 7 de janeiro de 2013 09:10, Marcos Reis | .Mobi <marcos.reis@pontomobi.com.br> escreveu:
Grande Felipe,

Me responde uma coisa,  a sua MainActivity é a activity onde vc exibe o seu fragment?

Pq o cast q vc esta fazendo tem q ser exatamente para a activity que esta "sobreposta" pelo fragment senão vai dar erro mesmo.

Qualquer coisa é só falar.


-- 
Cordialmente,
Marcos Reis
Analista de Sistemas / Android

Pontomobi
Any screen,
Anywhere™

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





On Jan 7, 2013, at 08:59 , Felippe dos Santos Ferreira <felippenasuacasa@gmail.com> wrote:

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