android - Setting Custom Text in DialogFragment -
good morning guys, quite long time i'm trying show custom text in dialogfragment
, still got nothing, have multiple tabs inside acitivty extends fragmentactivity
, implements tablistener
, here how call dialog
:
@override public boolean onoptionsitemselected(menuitem item) { switch (item.getitemid()) { case r.id.action_contact: quickcontactfragment dialog = new quickcontactfragment(); dialog.show(getsupportfragmentmanager(), "quickcontactfragment"); return true; } return super.onoptionsitemselected(item); }
and here dialog body:
public class quickcontactfragment extends dialogfragment { view view; private pagerslidingtabstrip tabs; private viewpager pager; private contactpageradapter adapter; public static quickcontactfragment newinstance() { quickcontactfragment f = new quickcontactfragment(); return f; } @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { if (getdialog() != null) { getdialog().getwindow().requestfeature(window.feature_no_title); getdialog().getwindow().setbackgrounddrawableresource(android.r.color.transparent); } view root = inflater.inflate(r.layout.fragment_quick_contact, container, false); tabs = (pagerslidingtabstrip) root.findviewbyid(r.id.tabs); pager = (viewpager) root.findviewbyid(r.id.pager); adapter = new contactpageradapter(); pager.setadapter(adapter); tabs.setviewpager(pager); return root; } @suppresswarnings("deprecation") @override public void onstart() { super.onstart(); // change dialog width if (getdialog() != null) { int fullwidth = getdialog().getwindow().getattributes().width; if (build.version.sdk_int >= build.version_codes.honeycomb_mr2) { display display = getactivity().getwindowmanager().getdefaultdisplay(); point size = new point(); display.getsize(size); fullwidth = size.x; } else { display display = getactivity().getwindowmanager().getdefaultdisplay(); fullwidth = display.getwidth(); } final int padding = (int) typedvalue.applydimension(typedvalue.complex_unit_dip, 24, getresources() .getdisplaymetrics()); int w = fullwidth - padding; int h = getdialog().getwindow().getattributes().height; getdialog().getwindow().setlayout(w, h); } } public class contactpageradapter extends pageradapter implements icontabprovider { private final int[] icons = { r.drawable.ic_launcher_gplus, r.drawable.ic_launcher_gmail, r.drawable.ic_launcher_gmaps, r.drawable.ic_launcher_chrome }; public contactpageradapter() { super(); } //here implemention //here shows how many tabs should predict.. can set n=0 , every time notification comes, set n=n+1, , whenever delete happenes, n=n-1 ;d @override public int getcount() { return icons.length; } ////this implemented method icontabprovider.. figure set image on if down there, @override public int getpageiconresid(int position) { return icons[position]; } @override public object instantiateitem(viewgroup container, int position) { // looks little bit messy here textview v = new textview(getactivity()); v.setbackgroundresource(r.color.background_window); if (position == 2){ v.settext("this page 3 :d"); textview tv =(textview)getactivity().findviewbyid(r.id.quickcontacttext); tv.settext("have heared it? bieber pragnent !"); } else{ v.settext("page " + (position + 1)); } final int padding = (int) typedvalue.applydimension(typedvalue.complex_unit_dip, 16, getresources() .getdisplaymetrics()); v.setpadding(padding, padding, padding, padding); v.setgravity(gravity.center); container.addview(v, 0); return v; } @override public void destroyitem(viewgroup container, int position, object view) { container.removeview((view) view); } @override public boolean isviewfromobject(view v, object o) { return v == ((view) o); } } }
where need set text , page changes, more try , more fraustrated, guys throw here please? way
inside oncreateview
of dialogfragment
should do:
view v = inflater.inflate(r.layout.hello_world, container, false); view tv = v.findviewbyid(r.id.text); ((textview)tv).settext("this instance of mydialogfragment");
check dialogfragment
reference
Comments
Post a Comment