android - Getting same list for two tabs in tabs with listview on start of activity -


so,i have activity has tabs listviews in them, , problems i'm facing are:

the first , second tabs having same content i.e. content second tab should have in first , second tab.

the third tab has correct content, though because instantiates first , second tabs initially. when set
mviewpager.setoffscreenpagelimit(2);

all 3 tabs have same content, of third tab.

but after i've scrolled third tab , scroll first one, first 1 refreshes , has correct content.

also, next problem second tab never refreshes,because on right or left tab opened. want tabs refresh every time opened since i'll changing material in lists.

package com.towntrot.anil.towntrot_eventmanager_02;  import android.os.bundle; import android.support.v4.app.fragment; import android.support.v4.view.pageradapter; import android.support.v4.view.viewpager; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.listview; import android.widget.toast;  import java.util.arraylist;  public class slidingtabsbasicfragment extends fragment {  listview list; public arraylist<listmodel> customlistviewvaluesarr = new arraylist<listmodel>(); public guestlist gg; private slidingtablayout mslidingtablayout; private viewpager mviewpager; private string[] eventtype={"checked in","checked out","waiting"};  @override public view oncreateview(layoutinflater inflater, viewgroup container,         bundle savedinstancestate) {     return inflater.inflate(r.layout.fragment_sample, container, false); }  @override public void onviewcreated(view view, bundle savedinstancestate) {     mviewpager = (viewpager) view.findviewbyid(r.id.viewpager);     mviewpager.setadapter(new samplepageradapter());     mslidingtablayout = (slidingtablayout) view.findviewbyid(r.id.sliding_tabs);     mslidingtablayout.setviewpager(mviewpager); }  class samplepageradapter extends pageradapter {      @override     public int getcount() {         return 3;     }      @override     public boolean isviewfromobject(view view, object o) {         return o == view;     }      @override     public charsequence getpagetitle(int position) {         return eventtype[position];     }      @override     public object instantiateitem(viewgroup container, int position) {          view view = getactivity().getlayoutinflater().inflate(r.layout.pager_item,                 container, false);         guestlist gg=(guestlist)getactivity();         stringbuilder sb = new stringbuilder();         sb.append("");         sb.append(position);         string stri = sb.tostring();         toast.maketext(getactivity(),stri,toast.length_long).show();         setlistdata(gg.getnamelist(), gg.getstatuslist(), gg.getno0fpeople(), position);         list= ( listview )view.findviewbyid(r.id.list);         customadapter adapter;         adapter=new customadapter( getactivity(), customlistviewvaluesarr);         list.setadapter(adapter);         container.addview(view);         return view;     }      @override     public void destroyitem(viewgroup container, int position, object object) {         container.removeview((view) object);     }  } public void setlistdata(string[] string,string[] status,int no,int pos) {     customlistviewvaluesarr.clear();     (int = 0; < no; i++) {          final listmodel name = new listmodel();         int x=integer.parseint(status[i]);         if(pos==x){ name.setcompanyname(string[i]);         customlistviewvaluesarr.add(name);}     } }   } 

please me, i've seen lot of answers couldn't solve this. appreciated.

the problem calling setlistdata every time pager item intantiated, in turn populates customlistviewvaluesarr data of given position. list adapters directly using array cause it's defined in fragment , depending on last instantiated item, it's contents change.

change customlistviewvaluesarr local variable; create new arraylist<listmodel> object in setlistdata method , return it, use returned object customadapter constructor parameter.


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -