Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 试图在actionBarActivity中启动片段_Android_Android Actionbar_Android Fragmentactivity_Android Actionbar Compat_Android Actionbaractivity - Fatal编程技术网

Android 试图在actionBarActivity中启动片段

Android 试图在actionBarActivity中启动片段,android,android-actionbar,android-fragmentactivity,android-actionbar-compat,android-actionbaractivity,Android,Android Actionbar,Android Fragmentactivity,Android Actionbar Compat,Android Actionbaractivity,我已经检查了很多关于如何启动我的片段的解决方案,但到目前为止没有任何效果。我很感激能得到的任何帮助 我想要的是让片段中的内容显示出来 我有两个标签页可以工作,但是每个标签页中的片段并没有显示内容,因为片段从来没有被放入午餐。这很奇怪,因为碎片扩展了actionBarActivity。但是,如果我让mainActivity extende fragmentActivity工作,但我的选项卡不工作 Tab.setCurrentItem(Tab.getPosition());似乎没什么用 androi

我已经检查了很多关于如何启动我的片段的解决方案,但到目前为止没有任何效果。我很感激能得到的任何帮助

我想要的是让片段中的内容显示出来

我有两个标签页可以工作,但是每个标签页中的片段并没有显示内容,因为片段从来没有被放入午餐。这很奇怪,因为碎片扩展了actionBarActivity。但是,如果我让mainActivity extende fragmentActivity工作,但我的选项卡不工作

Tab.setCurrentItem(Tab.getPosition());似乎没什么用

androidManifest中的主题 android:theme=“@style/theme.AppCompat.Light.darkaActionBar”

主要活动

import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import is.at.work.lottostokkur.R;
import is.at.work.lottostokkur.adapter.TabPagerAdapter;

public class MainActivity extends ActionBarActivity {

ViewPager Tab;
TabPagerAdapter TabAdapter;
ActionBar actionBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TabAdapter = new TabPagerAdapter(getSupportFragmentManager());
    actionBar = getSupportActionBar();

    Tab = (ViewPager)findViewById(R.id.pager);
    Tab.addOnPageChangeListener(
            new ViewPager.SimpleOnPageChangeListener() {
                @Override
                public void onPageSelected(int position) {
                    actionBar = getSupportActionBar();
                    actionBar.setSelectedNavigationItem(position);
                }
            });

    //Enable Tabs on Action Bar
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    ActionBar.TabListener tabListener = new ActionBar.TabListener() {

        @Override
        public void onTabSelected(ActionBar.Tab tab, android.support.v4.app.FragmentTransaction fragmentTransaction) {
            Tab.setCurrentItem(tab.getPosition());

        }

        @Override
        public void onTabUnselected(ActionBar.Tab tab, android.support.v4.app.FragmentTransaction fragmentTransaction) {

        }

        @Override
        public void onTabReselected(ActionBar.Tab tab, android.support.v4.app.FragmentTransaction fragmentTransaction) {

        }
    };
    //Add New Tab
    actionBar.addTab(actionBar.newTab().setText("Lottó").setTabListener(tabListener));
    actionBar.addTab(actionBar.newTab().setText("About").setTabListener(tabListener));
}
}
还有我的activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:id="@+id/lottoId"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="50sp"/>

</LinearLayout>
我的适配器

public class TabPagerAdapter extends FragmentStatePagerAdapter {
    public TabPagerAdapter(FragmentManager fm) {
        super(fm);
        // TODO Auto-generated constructor stub
    }

    @Override
    public Fragment getItem(int i) {
        switch (i) {
            case 0:
                //Fragement for Lotto Tab
                return new LottoFragment();
            case 1:
                //Fragment for About Tab
                return new AboutFragment();
         }
        return null;
    }

    @Override
        public int getCount() {
        // TODO Auto-generated method stub
        return 2; //No of Tabs
    }
}

TLDR

我看不到您将适配器设置为
ViewPager

在您的情况下,您应该添加以下内容:

Tab.setAdapter(TabAdapter);
首先,我建议使用
AppCompatActivity
,因为其他的都是折旧的

我还建议您不要使用
actionbar.setNavigationMode()
方法,因为它也会贬值


您还有很多其他选项可以实现选项卡导航。

在我的黑客攻击中,我删除了那一行,wtf。。如果可以的话,我会给你10倍的重击。非常感谢。
Tab.setAdapter(TabAdapter);