Autore Topic: Passaggio dati tra activity con una activity contenuta in un tab  (Letto 762 volte)

Offline bovello

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +2
    • Mostra profilo
    • Bovello
  • Dispositivo Android:
    San Francisco
  • Play Store ID:
    Bovello
  • Sistema operativo:
    Windows 7, Mac OS Snow Leopard
Ciao,
sto sviluppando un'applicazione che nella Activity principale (home.class) ha due tab.
Nel primo tab includo un'altra Activity con una mappa di Google Maps (tabmap.class).

Layout prima activity:

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TabHost
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="5dip">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@null"
                android:layout_marginLeft="-2dp"
                android:layout_marginRight="-2dp" />
                <FrameLayout
                            android:id="@android:id/tabcontent"
                            android:layout_width="fill_parent"
                            android:layout_height="fill_parent">
                            <TextView
                                android:id="@+id/textview1"
                                android:layout_width="fill_parent"
                                android:layout_height="fill_parent" />
                            <TextView
                                android:id="@+id/textview2"
                                android:layout_width="fill_parent"
                                android:layout_height="fill_parent" />
                        </FrameLayout>
        </LinearLayout>
    </TabHost>
</LinearLayout>

Inserisco la mappa nel tab da codice nell'activity principale:

Codice: [Seleziona]
...
        TabHost mTabHost = getTabHost();
        TabSpec tabSpec = mTabHost.newTabSpec("tab_test1");
        tabSpec.setIndicator("Mappa");
        //creo l'intent che punta all'activity contenente la mappa
        Intent i = new Intent(this.getApplicationContext(), tabmap.class);
        tabSpec.setContent(i);
        //aggiungo il secondo tab che contiene una textview
        mTabHost.addTab(tabSpec);
        mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Secondo tab").setContent(R.id.textview2));
        mTabHost.setCurrentTab(0);
...

Vorrei passare dati dall'Activity della Mappa(tabmap.class) contenuta nel primo tab(tab_test1) al secondo tab(tab_test2) dell'Activity principale(home.class). Nello specifico adesso vorrei scrivere sulla textview (R.id.textview2) contenuta nel secondo tab, però più in generale mi interesserebbe capire come passare i dati all'activity.
Posso referenziare direttamente l'oggetto? Posso passare dati da una activity ad un'altra senza lasciare l'activity corrente?

Stavo pensando a qualcosa del genere
Codice: [Seleziona]
        //su tabmap.class
        Intent i = new Intent(this.getApplicationContext(), home.class);
        i.putExtra("chiave", "valore");

Ma poi come posso far si che home.class riceva le informazioni ed esegua un metodo che popoli R.id.textview2, il tutto rimanendo sul tab della mappa?

Mi sono capito? :)
Riuscite a darmi una mano?
Grazie mille e buona giornata,

 Marco

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia