Supporto per frammenti di Android SDK
-
28-10-2019 - |
Domanda
Ok ora sto iniziando ad entrare nella programmazione Android e sto seguendo il tutorial "TabActivity" Android: http://developer.android.com/reference/android/app/tabactivity.html. Tutti funzionano ma non riesce a trovare alcune delle classi di supporto, vedere il codice sottostante che sta generando gli errori.
mTabManager.addTab(mTabHost.newTabSpec("simple").setIndicator("Simple"),
FragmentStackSupport.CountingFragment.class, null);
mTabManager.addTab(mTabHost.newTabSpec("contacts").setIndicator("Contacts"),
LoaderCursorSupport.CursorLoaderListFragment.class, null);
mTabManager.addTab(mTabHost.newTabSpec("custom").setIndicator("Custom"),
LoaderCustomSupport.AppListFragment.class, null);
mTabManager.addTab(mTabHost.newTabSpec("throttle").setIndicator("Throttle"),
LoaderThrottleSupport.ThrottledLoaderListFragment.class,null);
Per FragmentStackSupport/LoaderCursorsorsupport/LoadCustomSupport/LoaderThrottlesupport, dice che tutti loro non possono essere risolti in un tipo. Ho aggiunto l'ultima libreria di supporto a una cartella nella directory di root denominata "Libs" e l'ho anche accoppiata nella directory "C:/Eclipse/V4/". I miei file di importazione sono:
import java.util.HashMap;
import android.R;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.View;
import android.widget.TabHost;
import cowdawg.hello_tab.namespace.R.layout;
import cowdawg.hello_tab.namespace.R.id;
Qualcuno potrebbe offrirmi qualche consiglio su come risolverlo, grazie :).
Soluzione
È probabilmente perché le seguenti classi non fanno parte dell'API Android standard (o della libreria di supporto), ma esistono solo nel codice di esempio di supporto per scopi dimostrativi:
FragmentStackSupport.CountingFragment
LoaderCursorSupport.CursorLoaderListFragment
LoaderCustomSupport.AppListFragment
LoaderThrottleSupport.ThrottledLoaderListFragment
Dovrai aggiungere queste classi al tuo progetto per poterle utilizzare. Qui È possibile trovare i file di origine sotto i "file" della sottosezione.
Altri suggerimenti
In Eclipse IDE: selezionare il progetto e quindi fare clic con il pulsante destro del mouse sul progetto -> Strumenti Android -> Aggiungi la libreria di supporto.
La libreria di supporto richiesta verrà aggiunta sul percorso di build del progetto. Avrai trovato questo barattolo di biblioteca con il percorso di build Java -> Scheda Libraries -> dipendenze Android.
Divertiti a esplorare!
Hai aggiunto la biblioteca al tuo percorso di build? Fare clic con il tasto destro sul barattolo in Eclipse -> Build Path -> Aggiungi al percorso Build.
Prova ad aggiungere facendo clic con il pulsante destro del mouse sul progetto e aprire le proprietà della finestra
Invece di queste classi mancanti puoi crearne una tua sottoclassing Fragment
classe (o le sue sottoclassi come DialogFragment
, ListFragment
eccetera). Maggiori informazioni sono fornite da Android qui.