第二次从第一个选项卡移动后,Android Swipeable选项卡视图错误

时间:2015-03-09 10:23:13

标签: tabs android-viewpager views runtime-error swipeview

我是android的新手。我正在尝试实现Swipeable选项卡视图。创建了3个标签: 1.总结 2.统计数据 3.地图

现在问题是标签工作正常。当我从Summary-> Stats移动时,它很好。统计 - >地图,地图 - >统计数据也很好。但是,当我从Stats-> Summary或​​Maps-> Summary(第二次到达摘要片段)移动,然后在到达摘要后,我移动到任何标签,即Summary-> Stats或Summary-&gt ;地图,应用程序崩溃!!我无法理解为什么? 这是我现在编码的内容:

    viewPager=(ViewPager) findViewById(R.id.pager);
            viewPager.setAdapter(new MyAdapter(getSupportFragmentManager()));
            viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() 
            {

                @Override
                public void onPageSelected(int arg0) 
                {
                    // TODO Auto-generated method stub
                    actionbar.setSelectedNavigationItem(arg0);

                }

                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onPageScrollStateChanged(int arg0) {
                    // TODO Auto-generated method stub

                }
            });


            actionbar = getActionBar();
            actionbar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#26C6DA")));
            actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
            ActionBar.Tab summary=actionbar.newTab();
            summary.setText("SUMMARY");
            summary.setTabListener(this);

            ActionBar.Tab stats=actionbar.newTab();
            stats.setText("STATS");
            stats.setTabListener(this);

            ActionBar.Tab maps=actionbar.newTab();
            maps.setText("MAPS");
            maps.setTabListener(this);

            actionbar.addTab(summary);
            actionbar.addTab(stats);
            actionbar.addTab(maps);

<-- Some Code -->
//
//
//
//
//
//
//
//
//

<--Some Code ends-->

@Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) 
    {
        // TODO Auto-generated method stub

        viewPager.setCurrentItem(tab.getPosition());

    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) 
    {
        // TODO Auto-generated method stub


    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) 
    {
        // TODO Auto-generated method stub


    }

}

class MyAdapter extends FragmentPagerAdapter
{

    public MyAdapter(FragmentManager fm) 
    {
        super(fm);
        // TODO Auto-generated constructor stub
    }

    @Override
    public Fragment getItem(int arg0) 
    {
        // TODO Auto-generated method stub

        if(arg0==0)
        {
            return new SummaryFragment();
        }
        if(arg0==1)
        {
            return new StatsFragment();
        }
        if(arg0==2)
        {
            return new MapsFragment();
        }
        return null;
    }

    @Override
    public int getCount() 
    {
        // TODO Auto-generated method stub
        return 3;
    }

}

0 个答案:

没有答案