android-layout - ActionBar.Tablistener 已弃用

标签 android-layout android-actionbar swipe android-fragmentactivity android-actionbar-tabs

我正在尝试使用片段事件和 actionbar.tablistener 构建滑动选项卡 View 。我引用了其他人的教程并做了它,但是,它仍然被弃用并且没有成功运行它。然后我更改为 AppComBatActivity 但它不起作用,显示 View 组错误,我不知道为什么。然后我改成ActionBarActivity,它终于工作了,但是无论我如何编辑我的选项卡事件,在java类和xml中也是如此,它不显示任何内容。 我也已弃用 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS)

我已附上我的代码如下...

fragmentmenu.class

public class FragmentMenu extends FragmentActivity implements ActionBar.TabListener {

    ActionBar actionBar;
    ViewPager viewPager;
    FragmentPageAdapter ft;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_menu);
        viewPager = (ViewPager)findViewById(R.id.pager);
        ft = new FragmentPageAdapter(getSupportFragmentManager());

        actionBar = getActionBar();
        viewPager.setAdapter(ft);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionBar.addTab(actionBar.newTab().setText("Menu").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("Report").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("Setting").setTabListener(this));

    }


    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

    }
}
</code>
FragmentPagerAdapter 
<code>
public class FragmentPageAdapter extends FragmentPagerAdapter {
    public FragmentPageAdapter(FragmentManager fm) {
        super(fm);
    }


    @Override
    public Fragment getItem(int position) {
        switch (position){
            case 0:
                return new MyActivity();
            case 1:
                return new Report();
            case 2:
                return new Setting();
        }
        return null;
    }

    @Override
    public int getCount() {
        return 3;
    }
}
</code>
One of the fragment
<code>
public class Report extends Fragment {

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.report, container, false);
    }
}

}} 

请帮忙!

最佳答案

ActionBar.Tablistener 已弃用。您需要使用 TabLayout反而。

查看本教程以获取更多信息: http://www.androidhive.info/2015/09/android-material-design-working-with-tabs/

关于android-layout - ActionBar.Tablistener 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33710067/

相关文章:

android - ActionBar 操作项未显示

Android:如何/教程将 ActionBar 更改为 ActionBarCompat(工具栏)?

android - 为什么操作栏后退按钮设计被打破

android - 是否可以在 Android 上使用 adb 在触摸屏上产生连续的滑动 Action ?

javascript - 防止滑动触发 ng-click 处理程序

安卓多语言应用

android - 图片预览太长

android-layout - 更改android editText高亮颜色

javascript - 无法阻止被动事件监听器内的默认行为 - Swipebox Movie

android - 如何弯曲布局?