首页 > 解决方案 > 如何刷新查看寻呼机数据?

问题描述

当我从服务获取数据时,我重新加载数组列表中的所有数据并传递给适配器,但适配器显示我的旧数据。当我在适配器中打印数组列表时,我在适配器中传递新数据。显示旧数据。当我加载新数据时,我清除所有数据库也。

我在视图寻呼机中加载数据,所以我在代码下面创建了 newInstance.so,我从服务中获取数据并存储在 arraylist 中并传递给适配器

adapter = new PagerAdapter(activity.getSupportFragmentManager(),"TotalCount",firstCountArrayList,secondAcoountArrayList,totalCountArrayList);
        pager.setPageMargin(-400);
        pager.setAdapter(adapter);
        adapter.notifyDataSetChanged();
        pager.setOffscreenPageLimit(firstCountArrayList.size());

        tabs.setViewPager(pager,selected);

在 PagerAdapter 我得到了旧的数组列表数据

public class PagerAdapter extends FragmentPagerAdapter {

    String TotalCount = "";
    ArrayList<String> firstCountArrayList,secondAcoountArrayList,totalCountArrayList;

    public PagerAdapter(FragmentManager fm, String TotalCount, ArrayList<String> firstCountArrayList, ArrayList<String> secondAcoountArrayList, ArrayList<String> totalCountArrayList
                        ) {
        super(fm);
        //super(fm);
        this.TotalCount=TotalCount;


        this.firstCountArrayList=firstCountArrayList;
        this.secondAcoountArrayList=secondAcoountArrayList;   
this.totalCountArrayList=totalCountArrayList;

    }

    @Override
    public CharSequence getPageTitle(int position) {
        return firstCountArrayList.get(position);
    }

    @Override
    public int getCount() {
        return firstCountArrayList.size();
    }
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }
    @Override
    public Fragment getItem(int position) {




        Log.e(TAG," PagerAdapter firstCountArrayList==>"+firstCountArrayList.toString());
        return NewPageInstance.newInstance(position,firstCountArrayList,secondAcoountArrayList,totalCountArrayList);

在所有数据传递给 NewPageInstance 并显示在 TextView 上之后

   public static NewPageInstance newInstance(int position, String totalCount, ArrayList<String> firstCountArrayList, ArrayList<String> secondAcoountArrayList, ArrayList<String> totalCountArrayList) {

    totalCount=totalCount;
    firstCountArrayList=firstCountArrayList;
    secondAcoountArrayList=secondAcoountArrayList;
    totalCountArrayList=totalCountArrayList;
    }

和所有数据显示textview

这仅在第一次工作。不刷新视图寻呼机数据。

标签: androidandroid-viewpagerviewpagerindicatorpagerslidingtabstrip

解决方案


在您的视图寻呼机适配器中添加以下代码:-

public int getItemPosition(Object object) {
return POSITION_NONE;

}

或查看寻呼机更改侦听器通知您的查看寻呼机适配器:-

mPagerAdapter.notifyDataSetChanged();

推荐阅读