java - How to display listView in fragment class? -


i'm new in android programming. want try make simple tab layout app using fragment, how display listview in fragment? , i,ve googling , find solution not using fragment class. can show webview how show listview

my tab1 class:

       public class tab1 extends fragment { webview webview;     @override     public void onactivitycreated(bundle savedinstancestate) {         super.onactivitycreated(savedinstancestate);         // url open         // set webview         webview = (webview) getview().findviewbyid(r.id.webview);         webview.setwebviewclient(new mybrowser());         webview.getsettings().setloadsimagesautomatically(true);         webview.getsettings().setjavascriptenabled(true);         webview.setscrollbarstyle(view.scrollbars_inside_overlay);         webview.loadurl("http://www.google.com");     }     @override     public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) {         view v =inflater.inflate(r.layout.tab_1,container,false);         return v;     }     private class mybrowser extends webviewclient {         @override         public boolean shouldoverrideurlloading(webview view, string url) {             view.loadurl(url);             return true;         }     } } 

my tab2 class ( want display listview here):

    public class tab2 extends fragment {     @override     public void onactivitycreated(bundle savedinstancestate) {         super.onactivitycreated(savedinstancestate);  // listview activity needs extend activity class, doesn't work in fragment, how display in fragment?     }      @override     public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) {         view v = inflater.inflate(r.layout.tab_2, container, false);         return v;     }  } 

fragment adapter:

public class viewpageradapter extends fragmentstatepageradapter {

charsequence titles[]; // store titles of tabs going passed when viewpageradapter created int numboftabs; // store number of tabs, passed when viewpageradapter created   // build constructor , assign passed values appropriate values in class public viewpageradapter(fragmentmanager fm,charsequence mtitles[], int mnumboftabsumb) {     super(fm);      this.titles = mtitles;     this.numboftabs = mnumboftabsumb;  }  //this method return fragment every position in view pager @override public fragment getitem(int position) {      if(position == 0) // if position 0 returning first tab     {         tab1 tab1 = new tab1();         return tab1;     }     else   //if (position == 1)       // having 2 tabs if position 0 must 1 returning second tab     {         tab2 tab2 = new tab2();         return tab2;     } //        else //        { //            newkasus newkasus = new newkasus(); //            return newkasus; //        }  }  // method return titles tabs in tab strip  @override public charsequence getpagetitle(int position) {     return titles[position]; }  // method return number of tabs tabs strip  @override public int getcount() {     return numboftabs; } } 

my mainactivity:

public class mainactivity extends actionbaractivity { //       // declaring view , variables      toolbar toolbar;     viewpager pager;     viewpageradapter adapter;     slidingtablayout tabs;     charsequence titles[]={"berita","kasus","add kasus"};     int numboftabs =3;       //    // bawaaan materal tab     @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);           // creating toolbar , setting toolbar activity          toolbar = (toolbar) findviewbyid(r.id.tool_bar);         setsupportactionbar(toolbar);           // creating viewpageradapter , passing fragment manager, titles fot tabs , number of tabs.         adapter =  new viewpageradapter(getsupportfragmentmanager(),titles,numboftabs);          // assigning viewpager view , setting adapter         pager = (viewpager) findviewbyid(r.id.pager);         pager.setadapter(adapter);          // assiging sliding tab layout view         tabs = (slidingtablayout) findviewbyid(r.id.tabs);         tabs.setdistributeevenly(true); // make tabs fixed set true, makes tabs space evenly in available width          // setting custom color scroll bar indicator of tab view         tabs.setcustomtabcolorizer(new slidingtablayout.tabcolorizer() {             @override             public int getindicatorcolor(int position) {                 return getresources().getcolor(r.color.tabsscrollcolor);             }         });          // setting viewpager slidingtabslayout         tabs.setviewpager(pager);        }       @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.menu_main, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         // handle action bar item clicks here. action bar         // automatically handle clicks on home/up button, long         // specify parent activity in androidmanifest.xml.         int id = item.getitemid();          //noinspection simplifiableifstatement         if (id == r.id.action_settings) {             return true;         }          return super.onoptionsitemselected(item);     } } 

here giving simple example of showing list in fragment.

your fragment first...

public class tab1 extends listfragment {  string[] list_items;      tab1(){ }  @override public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) {     view rootview =inflater.inflate(r.layout.tab_1,container,false);     list_items= getresources().getstringarray(r.array.list);     setlistadapter(new arrayadapter(getactivity(),android.r.layout.simple_list_item_1,list_items);   return rootview; } } 

in strings.xml

 <string-array name="list">          <item>item1</item>          <item>item1</item>          <item>item1</item>          <item>item1</item>          <item>item1</item>   </string-array> 

your tab_1 layout have have.. listview. id android:list necessary when extend fragment listfragment class. if extend fragment won't need add specific id android:list.

for example giving need following in layout...

<listview android:id="@id/android:list"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:background="#00ff00"     android:layout_weight="1"     /> 

this need create listview in fragment.

in case, data in array , pass in listview. here in example used locally. hope helps!


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -