ActionBar.setNavigationMode (ActionBar.NAVIGATION_MODE_TABS) veraltet

Ich folge dem Tutorial https://www.youtube.com/watch?v=VVahIc8yENk und ich bekomme den Fehler

Java.lang.NullPointerException: Versuch, die virtuelle Methode 'void android.app.ActionBar.setNavigationMode (int)' auf eine Nullobjektreferenz aufzurufen

  • Android glatte Spielschleife
  • Holen Sie sich IntentSender-Objekt für die createChooser-Methode in Android
  • Android: 4.0.3 Emulator schloss nach einiger Zeit automatisch
  • Wie benutzt man benutzerdefinierte generic in GSON TypeToken Klasse?
  • Wie kann ich eine einzelne Zeile in einer ListView aktualisieren?
  • Midi Library für Android
  • Ich benutze Android Studio, um dieses Programm zu schreiben und ich habe von API 11 bis 21 versucht und keiner von ihnen funktioniert.

    public class Tabtest extends FragmentActivity implements ActionBar.TabListener { ActionBar actionBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tab_test); actionBar=getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.Tab tab1=actionBar.newTab(); tab1.setText("tab1"); tab1.setTabListener(this); ActionBar.Tab tab2=actionBar.newTab(); tab2.setText("tab2"); tab2.setTabListener(this); ActionBar.Tab tab3=actionBar.newTab(); tab3.setText("tab3"); tab3.setTabListener(this); ActionBar.Tab tab4=actionBar.newTab(); tab4.setText("tab4"); tab4.setTabListener(this); actionBar.addTab(tab1); actionBar.addTab(tab2); actionBar.addTab(tab3); actionBar.addTab(tab4); } @Override public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) { Log.d("VIVZ", "onTabReselected at "+" position "+tab.getPosition()+" name "+tab.getText()); } @Override public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) { Log.d("VIVZ", "onTabReselected at "+" position "+tab.getPosition()+" name "+tab.getText()); } @Override public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) { Log.d("VIVZ", "onTabReselected at "+" position "+tab.getPosition()+" name "+tab.getText()); } } 

  • Wie kann man den Dialog mit einem Klick auf den Dialog abwischen?
  • Suche nach Zeichenketten
  • Hinzufügen von mehreren Marker auf Google Map in Android
  • Absichtsfilter, um meine Aktivität zu starten, wenn benutzerdefinierte URI angeklickt wird
  • Android Phonegap: Javascript benachrichtigen, wenn eine AsyncTask beendet ist
  • Wie kann man eine globale Variable in Android erstellen?
  • 4 Solutions collect form web for “ActionBar.setNavigationMode (ActionBar.NAVIGATION_MODE_TABS) veraltet”

    Ich folgte Vivz Beispiel in YouTube, aber wenn die Methode veraltet war, musste ich einen anderen Weg finden. Anstatt die Registerkarten der Aktionsleiste hinzuzufügen, versuchen Sie:

    Ändern Sie Ihren Adapter:

     public class CollectionPagerAdapter extends FragmentStatePagerAdapter { private String[] titles = {"Item 1", "Item 2", "Item 3" }; public CollectionPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { switch(i){ case 0: return new FragmentA(); case 1: return new FragmentB(); case 2: return new FragmentC(); } return null; } @Override public int getCount() { return titles.length; } @Override public CharSequence getPageTitle(int position) { return titles[position]; } } 

    Und in der Aktivität, die Sie gerne die Tabs implementieren möchten, versuchen Sie es

     public class Tabtest extends ActionBarActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tab_test); ViewPager pager = (ViewPager) findViewById(R.id.your_view_pager); pager.setAdapter(new CollectionPagerAdapter(getSupportFragmentManager())); PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); tabs.setViewPager(pager); } 

    Nun, wenn Sie möchten, dass Ihre Tabs wie Google Play Store mit einem beweglichen Indikator unter dem Tab-Namen Stil und bewegen, während der Benutzer scrollt diese Bibliothek

     compile 'com.astuetz:pagerslidingtabstrip:1.0.1' 

    Und modifizieren Sie Ihre Viewpager-Layout-Datei wie folgt:

     <LinearLayout //obviously add width and height and other necessery stuff android:orientation="vertical"> <com.astuetz.PagerSlidingTabStrip android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="48dip" /> <android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> 

    Und dann wirst du den gewünschten Effekt haben.

    Ich hoffe es hilft!!!

    Sie können " PagerSlidingTabStrip " verwenden, indem Sie " setNavigationMode "

    Hier ein Tutorial und hier ein Beispiel in Github

    Endlich fand ich Antwort. 1. dein android sdk

     <uses-sdk android:minSdkVersion="11" /> 

    Es muss höher als 11. 2. dein Thema muss eine Aktionsleiste haben

     android:theme="Theme.AppCompat" 

    3. Verwenden Sie diesen Code nicht in Ihrer Aktivität

     requestWindowFeature(Window.FEATURE_NO_TITLE); 

    4. anstelle von import android.support.v4.app.ActionBar verwenden import android.support.v7.app.ActionBar in deiner Aktivität

    5. ändere diese actionBar=getActionBar(); Zu actionbar=getSupportActionBar();

     java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setNavigationMode(int)' on a null object reference 

    Ihr Thema ist anscheinend eine, die keine Aktionsleiste hat. Da Sie nicht appcompat-v7 , stellen Sie sicher, dass Sie ein Thema verwenden, das die native Theme.Holo unterstützt, z. B. eine der Theme.Holo Serie.

    Wenn Sie stattdessen versuchen, appcompat-v7 , müssen Sie von ActionBarActivity erben und Sie müssen getSupportActionBar() , nicht getActionBar() .

    Beachten Sie auch, dass die Aktionsleisten-Tabs ab Android 5.0 abgelehnt wurden. Sie sollten eine andere Registerkarte, wie die Kombination von ViewPager und PagerTabStrip .

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.