java - Viewpager inside a Dialog not working -


i using following code show dialog viewpager inside it

 new handler().postdelayed(new runnable()         {             @override             public void run()             {                 tutorialalerts alert = new tutorialalerts(mainactivity.this, android.r.style.theme_translucent_notitlebar_fullscreen, tutorialalerts.tutorial_alert_initial);                 alert.show();             }         }, 3000);  import android.app.dialog; import android.os.bundle; import android.support.v4.app.fragment; import android.support.v4.app.fragmentactivity; import android.support.v4.app.fragmentmanager; import android.support.v4.app.fragmentpageradapter; import android.support.v4.view.pageradapter; import android.support.v4.view.viewpager; import android.view.view; import android.widget.textview;  import com.iyedah.weping.r; import com.iyedah.weping.fragments.tutorialfragment; import com.viewpagerindicator.circlepageindicator;  import java.util.arraylist;  public class tutorialalerts extends dialog {     public arraylist<tutorialfragment> fragments = new arraylist<tutorialfragment>();      private int type = tutorial_alert_chat;      public static final int tutorial_alert_chat     = 0;     public static final int tutorial_alert_map      = 1;     public static final int tutorial_alert_initial  = 2;     public static final int tutorial_alert_message  = 3;      private circlepageindicator cirleindicator;     private viewpager pager;     private fragmentactivity mcontext;      private textview nextbtn;     private textview title;      private pageradapter adapter;      public tutorialalerts(fragmentactivity context, int theme, int type)     {         super(context, theme);         this.mcontext = context;         this.type = type;     }      @override     protected void oncreate(bundle savedinstancestate)      {         super.oncreate(savedinstancestate);         setcontentview(r.layout.dialog_tutorial);          nextbtn = (textview) this.findviewbyid(r.id.nextbtn);         title   = (textview) findviewbyid(r.id.title);          pager = (viewpager) findviewbyid(r.id.pager);         pager.setonpagechangelistener(mpagechangelistener);          cirleindicator = (circlepageindicator) findviewbyid(r.id.cirleindicator);         if (type == tutorial_alert_initial)         {             title.settext("getting started");              tutorialfragment page1 = new tutorialfragment();             bundle bundle = new bundle();             bundle.putint("pagenumber", 1);             page1.setarguments(bundle);             fragments.add(page1);              tutorialfragment page2 = new tutorialfragment();             bundle = new bundle();             bundle.putint("pagenumber", 2);             page2.setarguments(bundle);             fragments.add(page2);              tutorialfragment page3 = new tutorialfragment();             bundle = new bundle();             bundle.putint("pagenumber", 3);             page3.setarguments(bundle);             fragments.add(page3);         }          adapter = new mypageradapter(mcontext.getsupportfragmentmanager());     }       @override     public void show()     {         super.show();         pager.setadapter(adapter);         cirleindicator.setviewpager(pager);         pager.setcurrentitem(0, true);     }      /************************************************************************      *      *      **********************************************************************/     public class mypageradapter extends fragmentpageradapter     {         public mypageradapter(fragmentmanager fm)         {             super(fm);         }          @override         public charsequence getpagetitle(int position)         {             return "";         }          @override         public int getcount()         {             return fragments.size();         }          @override         public fragment getitem(int position)         {             return fragments.get(position);         }     }      private viewpager.onpagechangelistener mpagechangelistener = new viewpager.onpagechangelistener()     {         @override         public void onpageselected(final int position)         {             fragments.get(position).setupinitialtutorial(position + 1);             if(position == fragments.size())             {                 nextbtn.settext("done");                 nextbtn.setonclicklistener(new view.onclicklistener()                 {                     @override                     public void onclick(view v)                     {                         dismiss();                     }                 });             }             else             {                 nextbtn.settext("next");                 nextbtn.setonclicklistener(new view.onclicklistener()                 {                     @override                     public void onclick(view v)                     {                         pager.setcurrentitem(position + 1, true);                     }                 });             }         }          @override         public void onpagescrolled(int position, float arg1, int arg2)         {         }          @override         public void onpagescrollstatechanged(int arg0)         {         }     }; }   <relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:background="#c8000000"  >      <textview         android:layout_margintop="20dp"         android:gravity="center"         android:textstyle="bold"         android:textsize="23sp"         android:textcolor="@color/green"         android:text="@string/use_app"         android:layout_width="match_parent"         android:layout_height="58dp"         android:layout_centerhorizontal="true"         android:adjustviewbounds="true"         android:id="@+id/title"/>      <android.support.v4.view.viewpager         android:id="@+id/pager"         android:layout_above="@+id/nextbtn"         android:layout_width="match_parent"         android:layout_height="match_parent"         />       <com.viewpagerindicator.circlepageindicator         android:layout_centerhorizontal="true"         android:id="@+id/cirleindicator"         android:layout_marginbottom="10dp"         android:layout_above="@+id/nextbtn"         android:layout_height="40dp"         android:layout_width="60dp" />        <textview         android:gravity="center"         android:textstyle="bold"         android:textsize="20sp"         android:layout_alignparentbottom="true"         android:background="@color/mild_black"         android:id="@+id/nextbtn"         android:textcolor="@color/green"         android:text="@string/next"         android:layout_width="match_parent"         android:layout_height="58dp"         android:layout_centerhorizontal="true"         android:adjustviewbounds="true"         />   </relativelayout> 

dialog shows ok viewpager seems invisible shows nothing.

i've extend dialogfragment class , create new customdialog

public class customdailog extends dialogfragment {  private view view;  @override public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate); }  @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {     view = inflater.inflate(r.layout.addon_dialog, container);      getdialog().getwindow().requestfeature(window.feature_no_title);     getdialog().getwindow().setbackgrounddrawable(new colordrawable(android.graphics.color.transparent));     getdialog().setcancelable(true);     getdialog().getwindow().setgravity(gravity.top);      return view; }  @override public void onactivitycreated(bundle arg0) {     super.onactivitycreated(arg0);      displaymetrics metrics = getresources().getdisplaymetrics();     int screenwidth = (int) (metrics.widthpixels * 0.95);     int screenheight = (int) (metrics.heightpixels * 0.95);      getdialog().getwindow().setlayout(screenwidth, screenheight);      android.support.v4.view.viewpager addonsviewpager = (android.support.v4.view.viewpager) view.findviewbyid(r.id.addonsviewpager); } 

}

addon_dialog.xml

<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">      <android.support.v4.view.viewpager         android:id="@+id/addonsviewpager"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:background="@android:color/transparent">     </android.support.v4.view.viewpager>   </relativelayout> 

and use dialog in code as...

customdailog customdailog=new customdailog (); customdailog.show(getfragmentmanager(),"addons_fragment");   

Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -