android - RecyclerView show partial results -


i'm having strange problem filling recyclerview properly. have tablayout 4 tabs,in first tab want show list of contacts shows partial results ( 3 contacts or not @ all) while contacts list 250. have noticed @ first first 2 tabs instantiated , if example press third tab , first 1 shows expected results.

this adapter:

public class rvadapter extends recyclerview.adapter<rvadapter.customviewholder> {     private static list<contact> contacts;       // provide reference views each data item     // complex data items may need more 1 view per item, ,     // provide access views data item in view holder     public static class customviewholder extends recyclerview.viewholder {         // each data item string in case         public textview mtextviewname;         public checkbox mcheckbox;         public textview mtextviewnumber;          public customviewholder(view view) {             super(view);             this.mtextviewname = (textview) view.findviewbyid(r.id.tv_name);             this.mcheckbox = (checkbox) view.findviewbyid(r.id.cb_check_box);             this.mtextviewnumber = (textview) view.findviewbyid(r.id.tv_number);         }     }      // provide suitable constructor (depends on kind of dataset)     public rvadapter(list<contact> contacts) {          this.contacts = contacts;          log.d("tag","constructor "+contacts.size());     }      // create new views (invoked layout manager)     @override     public customviewholder oncreateviewholder(viewgroup parent,                                                int viewtype) {         // create new view         view v = layoutinflater.from(parent.getcontext())                 .inflate(r.layout.contacts_list_item, parent, false);         // set view's size, margins, paddings , layout parameters          customviewholder vh = new customviewholder(v);          return vh;     }      // replace contents of view (invoked layout manager)     @override     public void onbindviewholder(customviewholder holder,int position) {         // - element dataset @ position         // - replace contents of view element         string name = contacts.get(position).getname();         string number = contacts.get(position).getphone_number();         //boolean status = contacts.get(position).isselected();         holder.mtextviewname.settext(name);         holder.mtextviewnumber.settext(number);     }      // return size of dataset (invoked layout manager)     @override     public int getitemcount() {         return contacts.size();     }   } 

and how set :

@override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {     view view= inflater.inflate(r.layout.fragment_invite, container, false);      numbers = new arraylist<>();     contacts = new arraylist<>();     //find done button     btn_done = (button) view.findviewbyid(r.id.btn_done);     //find listview     rv_invite = (recyclerview) view.findviewbyid(r.id.rv_invite);     //get contacts list      setcontacts(numbers);     //sorting contact list     collections.sort(contacts);      // use linear layout manager     mlayoutmanager = new linearlayoutmanager(getactivity().getbasecontext());     //mlayoutmanager.setorientation(linearlayoutmanager.vertical);     rv_invite.setlayoutmanager(mlayoutmanager);      // specify adapter      madapter = new rvadapter(contacts);      rv_invite.setadapter(madapter);     return view; } 

and layout :

<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_height="match_parent"     android:layout_width="match_parent"     android:orientation="vertical">     <android.support.v7.widget.recyclerview         android:id="@+id/rv_invite"         android:scrollbars="vertical"         android:layout_width="match_parent"         android:layout_height="0dp"         android:layout_weight="1"/>      <button         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:id="@+id/btn_done"         android:layout_gravity="center"         android:text="@string/done" /> </linearlayout> 


Comments

Popular posts from this blog

resizing Telegram inline keyboard -

command line - How can a Python program background itself? -

php - "cURL error 28: Resolving timed out" on Wordpress on Azure App Service on Linux -