java - How to handle listview event while using new android sliding tabs technique? -


i tried searching internet found tutorials using old tabhost technique. using new toolbar , adding tabs under it. want display contents fetched database in listview dynamically when particular tab focused. following activity code: [edited]

 public class poststory extends actionbaractivity implements viewpager.onpagechangelistener   {            // declaring view , variables            toolbar toolbar;          viewpager pager;          viewpageradapter adapter;          slidingtablayout tabs;          charsequence titles[]={"explore","publish","profile"};          int numboftabs =3;            @override          protected void oncreate(bundle savedinstancestate) {              super.oncreate(savedinstancestate);              setcontentview(r.layout.activity_post_story);                // 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);              pager.setonpagechangelistener(this);              // 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);               log.d("tabsid ",integer.tostring(tabs.getid()));             }              @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);          }         @override         public void onpageselected(int position) {           //  if(position == ?) fetchandsetdata(); // here fetch , set data             log.d("pos ",integer.tostring(position));             toast.maketext(this,"page changed",toast.length_long);         }          @override         public void onpagescrollstatechanged(int state) {}          @override         public void onpagescrolled(int position, float positionoffset, int positionoffsetpixels) {}        } 

this tab activity xml code

<menu xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     xmlns:tools="http://schemas.android.com/tools" tools:context="aru.cramine.studio.aru.poststory">       <item android:id="@+id/action_publish" android:title="@string/publish"         android:orderincategory="1" app:showasaction="always" />     <item android:id="@+id/action_save" android:title="@string/save"         android:orderincategory="2" app:showasaction="always"          />       <item android:id="@+id/action_cancel" android:title="@string/cancel"         android:orderincategory="3" app:showasaction="ifroom" /> </menu> 

this tab.java code public class tab1 extends fragment {

    @override      public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) {          view v =inflater.inflate(r.layout.tab_1,container,false);            return v;      }  } 

and tab.xml

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:paddingbottom="@dimen/activity_vertical_margin"     android:paddingleft="@dimen/activity_horizontal_margin"     android:paddingright="@dimen/activity_horizontal_margin"     android:paddingtop="@dimen/activity_vertical_margin"     tools:context=".mainactivity" >      <listview         android:id="@+id/list"         android:layout_width="wrap_content"         android:layout_height="wrap_content" >      </listview>  </relativelayout> 

you can add onpagechangelistener , if specific tab gets selected fetch data , fill listview it.

public class poststory extends actionbaractivity implements viewpager.onpagechangelistener {     ...      @override     protected void oncreate(bundle savedinstancestate) {         ...         pager = (viewpager) findviewbyid(r.id.pager);         pager.setadapter(adapter);         pager.setonpagechangelistener(this);          ...      }        @override      public void onpageselected(int position) {          if(position == ?) fetchandsetdata(); // here fetch , set data      }       @override      public void onpagescrollstatechanged(int state) {}       @override      public void onpagescrolled(int position, float positionoffset, int positionoffsetpixels) {}       ... } 

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 -