Android listview未更新

Android listview未更新,android,android-listview,android-viewpager,baseadapter,Android,Android Listview,Android Viewpager,Baseadapter,我正在使用viewpager。我有一些页面。我也有listview witch修改了一些图像和文本。 我写了一个函数witch has int position witch,它意味着每个位置我都尝试适配器不同的值。 我在viewpager的setOnPageChangeListener方法中使用此函数,但无法更新我的listview 这是我的适配器源代码 public class MyAdapter extends BaseAdapter { private Context activity;

我正在使用viewpager。我有一些页面。我也有listview witch修改了一些图像和文本。 我写了一个函数witch has int position witch,它意味着每个位置我都尝试适配器不同的值。 我在viewpager的setOnPageChangeListener方法中使用此函数,但无法更新我的listview

这是我的适配器源代码

public class MyAdapter extends BaseAdapter {

private Context activity;
private List<CopyOfServerItems> items;
private CopyOfServerItems objBean;
private int row;

public ImageLoader imageLoader;


public MyAdapter(Context act, int resource, List<CopyOfServerItems> arrayList
        ) {
    super();
    this.activity = act;
    this.row = resource;
    imageLoader = new ImageLoader(act.getApplicationContext());
    this.items = arrayList;

}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    View view = convertView;
    ViewHolder holder;
    if (view == null) {
        LayoutInflater inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(row, null);

        holder = new ViewHolder();
        view.setTag(holder);
    } else {
        holder = (ViewHolder) view.getTag();
    }

    if ((items == null) || ((position + 1) > items.size()))
        return view;

    objBean = items.get(position);



    holder.title = (TextView) view.findViewById(R.id.cat_title);
    holder.img = (ImageView) view.findViewById(R.id.cat_image);



    holder.title.setText(objBean.getTitle());





    imageLoader.DisplayImage(objBean.getThumbnail(), holder.img);
    //holder.img.setImageResource(Imageid[position]);

    return view;
}

public class ViewHolder {
    public TextView  title;
    public ImageView img;

}

@Override
public int getCount() {

    return items.size();
}

@Override
public Object getItem(int position) {

    return null;
}




@Override
public long getItemId(int position) {

    return 0;
}
}
公共类MyAdapter扩展了BaseAdapter{
私人语境活动;
私人清单项目;
服务器项目objBean的私有副本;
私人int row;
公共图像加载器;
公共MyAdapter(上下文行为、int资源、列表arrayList
) {
超级();
这个活动=行动;
this.row=资源;
imageLoader=新的imageLoader(act.getApplicationContext());
this.items=arrayList;
}
@凌驾
公共视图getView(最终整数位置、视图转换视图、视图组父视图){
视图=转换视图;
视窗座;
如果(视图==null){
LayoutFlater充气机=(LayoutFlater)活动
.getSystemService(上下文布局\充气机\服务);
视图=充气机。充气(行,空);
holder=新的ViewHolder();
视图.设置标签(支架);
}否则{
holder=(ViewHolder)view.getTag();
}
if((items==null)| |((position+1)>items.size())
返回视图;
objBean=items.get(位置);
holder.title=(TextView)view.findViewById(R.id.cat_title);
holder.img=(ImageView)view.findViewById(R.id.cat_image);
holder.title.setText(objBean.getTitle());
DisplayImage(objBean.getThumbnail(),holder.img);
//holder.img.setImageResource(Imageid[位置]);
返回视图;
}
公共类视图持有者{
公共文本视图标题;
公共图像视图img;
}
@凌驾
public int getCount(){
返回items.size();
}
@凌驾
公共对象getItem(int位置){
返回null;
}
@凌驾
公共长getItemId(int位置){
返回0;
}
}
这是我的java代码

public class CategoryViewPager extends Fragment {
public final static String TAG = CategoryViewPager.class
        .getSimpleName();
public static List<CopyOfServerItems> arrayOfList;

public static List<CopyOfServerItems> arrayOfList1;

private MyAdapter objAdapter;

public static CategoryViewPager newInstance() {
    return new CategoryViewPager();
}


private ViewPager mViewPager;
private ListView cat_listview;
private PagerTitleStrip mPagerTitleStrip;
String result;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.azercell_category_viewpager,
            container, false);
    arrayOfList = new ArrayList<CopyOfServerItems>();
    arrayOfList1 = new ArrayList<CopyOfServerItems>();
    final List<View> pages = new ArrayList<View>();
    final ArrayList<String> titles = new ArrayList<String>();

    mViewPager = (ViewPager) rootView.findViewById(R.id.viewpager);
    mPagerTitleStrip = (PagerTitleStrip) rootView
            .findViewById(R.id.pagertitle);

    LayoutInflater inflater1 = LayoutInflater.from(getActivity());
    View page = inflater1.inflate(R.layout.azercell_category_pages, null);

    page = inflater.inflate(R.layout.azercell_category_pages, null);

    cat_listview = (ListView) page.findViewById(R.id.cat_listview);

    mPagerTitleStrip.setTextColor(Color.BLUE);



    for (int i = 0; i < arrayOfList.size(); i++) {

        page = inflater.inflate(R.layout.azercell_category_pages, null);
        cat_listview = (ListView) page.findViewById(R.id.cat_listview);
        cat_listview.setAdapter(objAdapter);

        titles.add(arrayOfList.get(i).getTitle());




        pages.add(page);



    }
    mViewPager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageSelected(int arg0) {
            try {

                Log.e("position viewpager", String.valueOf(arg0));
                parseJsonFromServer(result, arg0);
                objAdapter.notifyDataSetChanged();

            } catch (JSONException e) {

                e.printStackTrace();
            }

        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {


        }

        @Override
        public void onPageScrollStateChanged(int arg0) {


        }
    });


    PagerAdapter p_adapter = new PagerAdapter() {

        @Override
        public boolean isViewFromObject(View arg0, Object arg1) {
            return arg0 == arg1;
        }

        @Override
        public int getCount() {
            return pages.size();
        }

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

        @Override
        public CharSequence getPageTitle(int position) {

            return titles.get(position);
        }

        @Override
        public Object instantiateItem(View container, int position) {
            ((ViewPager) container).addView(pages.get(position));
            return pages.get(position);
        }

    };
    mViewPager.setAdapter(p_adapter);

    return rootView;
}





public String parseJsonFromServer(String server, int position)
        throws JSONException {
    JSONArray jsonArray = null;
    JSONObject mainJson = new JSONObject(server);
    jsonArray = mainJson.getJSONArray("result");

    JSONArray children = jsonArray.getJSONObject(position).getJSONArray(
            "children");

    for (int j = 0; j < children.length(); j++) {

        CopyOfServerItems objItem = new CopyOfServerItems();
        JSONObject data = children.getJSONObject(j).getJSONObject("data");

        objItem.setTitle(data.getString("title"));
        objItem.setThumbnail(data.getString("thumbnail"));
        Log.e("123123123123", data.getString("title"));

        arrayOfList1.add(objItem);
    }


    setAdapterToListview();
    return server;
}


public void setAdapterToListview() {
    objAdapter = new MyAdapter(getActivity(),
            R.layout.azercell_category_adapter, arrayOfList1);

    objAdapter.notifyDataSetChanged();


}

}
公共类CategoryViewPage扩展了片段{
公共最终静态字符串标记=CategoryViewPager.class
.getSimpleName();
公共静态列表arrayOfList;
公共静态列表arrayOfList1;
私有MyAdapter对象适配器;
公共静态类别viewPager newInstance(){
返回新的CategoryViewPage();
}
私有视图寻呼机mViewPager;
私有ListView目录视图;
私人页面标题栏mPagerTitleStrip;
字符串结果;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根视图=充气机。充气(R.layout.azercell\u category\u viewpager,
货柜(虚假);;
arrayOfList=新的ArrayList();
arrayOfList1=新的ArrayList();
最终列表页=新的ArrayList();
最终ArrayList标题=新ArrayList();
mViewPager=(ViewPager)rootView.findViewById(R.id.ViewPager);
mPagerTitleStrip=(PagerTitleStrip)根视图
.findviewbyd(R.id.pagertitle);
LayoutFlater充气器1=LayoutFlater.from(getActivity());
查看页面=充气机1.充气(R.layout.azercell\u category\u页面,空);
页面=充气机。充气(R.layout.azercell\u category\u页面,空);
cat_listview=(listview)page.findviewbyd(R.id.cat_listview);
mpagertilestrip.setTextColor(Color.BLUE);
对于(int i=0;i@Override
public long getItemId(int position) {

    return position;
}
updateData( int resource, List<CopyOfServerItems> arrayList ){

    this.row = resource;
    this.items = arrayList;

}
updateListView( int resource, List<CopyOfServerItems> arrayList ){

     objAdapter.updateData( resource, arrayList );
     objAdapter.notifyDataSetChanged();

}
public class CategoryViewPager extends Fragment {

public final static String TAG = CategoryViewPager.class
        .getSimpleName();
public static List<CopyOfServerItems> arrayOfList;

public static List<CopyOfServerItems> arrayOfList1;

private MyAdapter[] objAdapter;

public static CategoryViewPager newInstance() {
    return new CategoryViewPager();
}


private ViewPager mViewPager;

private ListView[] cat_listview;

private PagerTitleStrip mPagerTitleStrip;
String result;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.azercell_category_viewpager,
            container, false);
    arrayOfList = new ArrayList<CopyOfServerItems>();
    arrayOfList1 = new ArrayList<CopyOfServerItems>();
    final List<View> pages = new ArrayList<View>();
    final ArrayList<String> titles = new ArrayList<String>();

    mViewPager = (ViewPager) rootView.findViewById(R.id.viewpager);
    mPagerTitleStrip = (PagerTitleStrip) rootView
            .findViewById(R.id.pagertitle);

    mPagerTitleStrip.setTextColor(Color.BLUE);

    cat_listview = new ListView[  arrayOfList.size() ];
    objAdapter   = new MyAdapter[ arrayOfList.size() ];

    for (int i = 0; i < arrayOfList.size(); i++) {

        View page = inflater.inflate(R.layout.azercell_category_pages, null);
        cat_listviews[ i ] = (ListView) page.findViewById(R.id.cat_listview);

        objAdapter[ i ] = new MyAdapter( [put some paremeters here] );

        cat_listview[ i ].setAdapter(objAdapter[ i ] );

        titles.add(arrayOfList.get(i).getTitle());

        pages.add(page);    
    }

    .........


    public String parseJsonFromServer(String server, int position)

        throws JSONException {
    JSONArray jsonArray = null;
    JSONObject mainJson = new JSONObject(server);
    jsonArray = mainJson.getJSONArray("result");

    JSONArray children = jsonArray.getJSONObject(position).getJSONArray(
            "children");

    for (int j = 0; j < children.length(); j++) {

        CopyOfServerItems objItem = new CopyOfServerItems();
        JSONObject data = children.getJSONObject(j).getJSONObject("data");

        objItem.setTitle(data.getString("title"));
        objItem.setThumbnail(data.getString("thumbnail"));
        Log.e("123123123123", data.getString("title"));

        arrayOfList1.add(objItem);
    }


    updateListview( resource, obj, position );
    return server;
}


updateListView( int resource, List<CopyOfServerItems> arrayList ){

     objAdapter[ position ].updateData( resource, arrayList );
     objAdapter[ position ].notifyDataSetChanged();

}