【问题标题】:Android Viewpager display wrong data on first loadAndroid Viewpager 在首次加载时显示错误数据
【发布时间】:2015-03-07 07:18:44
【问题描述】:

/**我正在使用带有 tabhost 的 android.support.v4.view.ViewPager 来显示标签数据,我有 3 个标签 当第一次加载第一个选项卡时加载第三个选项卡数据...第三个选项卡正在加载第一个选项卡数据。第二个选项卡正确加载自己的数据

我的 viewpager 和 tabhost 代码是 Thx in Advance **/

private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private String[] tabsTitles = {"SELL", "RENT", "PROJECT"};

viewPager = (ViewPager) findViewById(R.id.pager);
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager(), tabsTitles.length);
        viewPager.setAdapter(mAdapter);

        final TabHost tabHost=(TabHost)findViewById(android.R.id.tabhost);
        tabHost.setup();

        for (int i = 0; i < tabsTitles.length; i++) {
            String tabName = tabsTitles[i];
            TabHost.TabSpec spec=tabHost.newTabSpec(tabName);
            spec.setContent(R.id.fakeTabContent);
            spec.setIndicator(tabName);
            tabHost.addTab(spec);
        }
        tabHost.setOnTabChangedListener(new OnTabChangeListener() {

            @Override
            public void onTabChanged(String tabId) {
                for (int i = 0; i < tabsTitles.length; i++) {
                    if (tabId.equals(tabsTitles[i])) {
                        viewPager.setCurrentItem(i);
                        break;
                    }
                }
            }
        });

viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                Toast.makeText(getApplicationContext(), String.valueOf(position), Toast.LENGTH_LONG).show();
                tabHost.setCurrentTab(position);
            }

            @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

            }
        });

【问题讨论】:

  • 朋友们给我答案...帮帮我
  • 总是加载错误的项目?
  • 是 @Fahim 第一个选项卡正在加载第三个选项卡布局,第三个选项卡正在加载第一个选项卡布局
  • 能分享一下tabpageradapter代码吗
  • 谢谢@fahim 现在它的工作......

标签: android android-fragments tabs android-viewpager android-tabhost


【解决方案1】:

适配器代码有问题

public Fragment getItem(int index) { 
    switch (index % 3) {
     case 2: // Top Rated fragment activity return
     new ProjectFragment(); 
    case 1: // Games fragment activity 
    return new RentFragment(); 
    case 0: // Movies fragment activity
     return new SellFragment();
     } return null; 
    } 

【讨论】:

  • @Tufan 将您的回答从评论添加到其他用户的回答部分
猜你喜欢
  • 2019-03-25
  • 2014-03-12
  • 2016-07-06
  • 2018-09-02
  • 1970-01-01
  • 2015-09-20
  • 1970-01-01
  • 2017-10-18
  • 1970-01-01
相关资源
最近更新 更多