【问题标题】:Android ViewPager not updatedAndroid ViewPager 未更新
【发布时间】:2017-10-31 23:26:47
【问题描述】:

我有ViewPager 一页和Tab's。在AsyncTask 中,我加载数据并更新ViewPager,但没有任何变化。在我检查的 LogCat 中,我需要数据。

MainClass.java

    mViewPager = (ViewPager) findViewById(R.id.cinema_view_pager);
    mTabPager = new TabPager("Загрузка");
    mViewPager.setAdapter(mTabPager);

    LoadCinema cinema = new LoadCinema(this,0);
    cinema.execute();

TabPager(Adapter).class

public class TabPager extends PagerAdapter{

    private String message = "";

    public TabPager(String msg){
        message = msg;
    }

    @Override
    public int getCount() {
        return 1;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view.equals(object);
    }

    public void update(String msg){
        message = msg;
        notifyDataSetChanged();
    }

    @Override
    public View instantiateItem(View container, int position){
        View v = getLayoutInflater().inflate(R.layout.cinema_layout, null);

        TextView text = (TextView) v.findViewById(R.id.textView1);
        text.setText(message+"Message" +"");

        ((ViewPager) container).addView(v);
        return v;           
    }

    public void destroyItem(View container, int position, Object object) {
        ((ViewPager) container).removeView((View) object);
    }

}  

LoadCinema.class

public void onPostExecute(List<CinemaCategory> result){
    super.onPostExecute(result);
    CinemaCategory cat = result.get(page);  
    cinema.mTabPager.update(cat.getDescription());
}

我尝试了三页,当我滑动到最后一页时,我有数据,然后滑动到第一页查看寻呼机更新。

【问题讨论】:

  • 贴出'mT​​abPager'的来源

标签: android android-viewpager


【解决方案1】:

现在我有答案了,感谢post

适配器需要添加此代码

    public int getItemPosition(Object object) {
           return POSITION_NONE;
    }

【讨论】:

  • 当我刷新 viewpagers 数据时,前两个 view pager 没有刷新,其他 view pager 数据正在改变。请帮帮我。
【解决方案2】:

考虑使用FragmentStatePagerAdapter 而不是PagerAdapter

public class TabPager extends FragmentStatePagerAdapter {

...

}

【讨论】:

    猜你喜欢
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多