Autore Topic: chiusura tab layout  (Letto 259 volte)

Offline astro87

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    motorola moto g
  • Sistema operativo:
    windows 7
chiusura tab layout
« il: 01 Settembre 2014, 08:18:16 CEST »
0
Salve a tutti, nella mia app sto cercando di implementare un tabLayout. Ho però il seguente problema: quando provo a cambiare scheda (tab) l'applicazione si chiude, ma senza dare errori, se invece resto nel primo tab , ovvero quello che si apre nella home per default funziona.
Questo è il codice della home :
Codice (Java): [Seleziona]
package com.example.androidtablayout;

import android.app.TabActivity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Color;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

/*1-dovrà estendere la classe TabActivity invece di Activity.
  2-recuperare l’oggetto del layout TabHost mediante la funzione getTabHost();
  3-definire un oggetto di tipo TabSpec per ogni scheda che vogliamo aggiungere
  4-definire un Intent per ogni activity che vogliamo aggiungere
  5-collegare l’intent creato all’oggetto TabSpec mediante la funzione setContent();
  6-aggiungere l’oggetto TabSpec all’oggetto TabHost tramite il comando addTab(…);*/

public class LunaActivity extends TabActivity {
       
        String regione_scelta,nome_mese;
        public SharedPreferences sp;
        private static final String PRIMO_AVVIO = "primo_avvio";
        public static final String SHARED_PREF_NAME = "mySharedPrefs";
        private static final String REGIONE = "regione";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mostraToastPrimoAvvio();
        final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
        regione_scelta=prefs.getString(REGIONE, "");
        setContentView(R.layout.main);
       
               
     //2 Otteniamo il riferimento al TabHost
        TabHost tabHost = getTabHost();
       
        //3 Tab for Photos
        TabSpec ortospec = tabHost.newTabSpec("Orto");
        ortospec.setIndicator("Orto", getResources().getDrawable(R.drawable.icon_orto_tab));
        Intent photosIntent = new Intent(this, Orto.class);
        ortospec.setContent(photosIntent);
        //tabHost.getTabWidget().tabHost.getCurrentTab().setBackgroundColor(Color.parseColor("#0000FF"));
        tabHost.setBackgroundColor(Color.BLUE);
       
        // Tab for Songs
        TabSpec songspec = tabHost.newTabSpec("Cantina");
        // setting Title and Icon for the Tab
        songspec.setIndicator("Cantina", getResources().getDrawable(R.drawable.icon_cantina_tab));
       
        //4 creo un intenr relativo all'activity che voglio richiamare
        Intent songsIntent = new Intent(this, SongsActivity.class);
        songspec.setContent(songsIntent);
       
        // Tab for Videos
        TabSpec videospec = tabHost.newTabSpec("Pesca");
        videospec.setIndicator("Pesca", getResources().getDrawable(R.drawable.icon_pesca_tab));
        Intent videosIntent = new Intent(this, VideosActivity.class);
        videospec.setContent(videosIntent);
       
        TabSpec facespec = tabHost.newTabSpec("Face");
        facespec.setIndicator("Facebook", getResources().getDrawable(R.drawable.icon_face_tab));
        Intent faceIntent = new Intent(this, Face.class);
        facespec.setContent(photosIntent);
        //tabHost.getTabWidget().tabHost.getCurrentTab().setBackgroundColor(Color.parseColor("#0000FF"));
        tabHost.setBackgroundColor(Color.BLUE);
       
        // Adding all TabSpec to TabHost
        tabHost.addTab(ortospec); // Adding photos tab
        tabHost.addTab(songspec); // Adding songs tab
        tabHost.addTab(videospec); // Adding videos tab
        tabHost.addTab(facespec);
    }
    private void mostraToastPrimoAvvio()
        {
       
                SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
                if (prefs.getBoolean(PRIMO_AVVIO, true))
                {
                        /*Toast.makeText(this, R.string.primo_avvio,
                                Toast.LENGTH_LONG).show();*/

                        Editor prefsEditor = prefs.edit();
                        final String regione="";
                        prefsEditor.putBoolean(PRIMO_AVVIO, false);
                        prefsEditor.putString(REGIONE, regione);
                        prefsEditor.commit();
                        //Intent ListaRegioni=new Intent(LunaActivity.this,ListaRegActivity.class);
                        //startActivity(ListaRegioni);
                       
                       
                }
        }
}
mentre questo è il codice dell'activity che si chiude:
Codice (Java): [Seleziona]
package com.example.androidtablayout;

import android.app.Activity;
import android.os.Bundle;

public class SongsActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.songs_layout);
        }
}

Post unito: 01 Settembre 2014, 23:42:51 CEST
nessuno riesce ad aiutarmi???
« Ultima modifica: 01 Settembre 2014, 23:42:51 CEST da astro87, Reason: Merged DoublePost »

Offline astro87

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    motorola moto g
  • Sistema operativo:
    windows 7
Re:chiusura tab layout
« Risposta #1 il: 02 Settembre 2014, 22:08:33 CEST »
0
ho risolto, nella funzione onpause veniva richiamata finish.....