android - Displaying Custom Fragment in DailogFragment -
i have fragmentactivity has button, on clicking button showing dailog
public class fragmainactivity extends fragmentactivity implements android.view.view.onclicklistener { button shobut; public string dailogtag="dialog"; @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); shobut= (button) findviewbyid(r.id.button1); shobut.setonclicklistener(this); } @override public void onclick(view v) { mydialogfragment newfragment = mydialogfragment.newinstance(); fragmentmanager fm ; fm=getsupportfragmentmanager(); newfragment.show(fm, dailogtag); } }
my dialog class
public class mydialogfragment extends dialogfragment { static mydialogfragment newinstance() { return new mydialogfragment(); } @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view inview= inflater.inflate(r.layout.dialog_layout, container, false); return inview; } }
this dialog_layout xml file
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="vertical" android:paddingbottom="36dp" android:paddingleft="12dp" android:paddingright="12dp" android:paddingtop="36dp" > <textview android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margintop="16dp" android:gravity="center" android:text="hi, dailog box...boom" android:textappearance="?android:textappearancemedium" /> </linearlayout>
i getting dailog have fragment class, examplefragment this
public class examplefragment extends fragment { @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // inflate layout fragment return inflater.inflate(r.layout.frag_content, container, false); } }
whose layout is
<textview android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margintop="16dp" android:gravity="center" android:text="fragment conttent" android:textappearance="?android:textappearancemedium" /> <ratingbar android:id="@+id/ratingbar1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </linearlayout>
when try put fragment in dailog layout , application crashing.
<textview android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margintop="16dp" android:gravity="center" android:text="you want read text?" android:textappearance="?android:textappearancemedium" /> android:layout_width="match_parent" android:layout_height="match_parent"> <fragment class="com.example.addfragment.examplefragment" android:id="@+id/example_fragment" android:layout_width="match_parent" android:layout_height="match_parent" /> </linearlayout>
when put in activity_main layout shows fragment, same not work in dailogfragment.
i getting
08-28 15:44:09.969: e/androidruntime(438): android.view.inflateexception: binary xml file line #22: error inflating class fragment
anyone have suggestion ? why cant fragment included in dailogfragment layout ?
why can't add fragment in daiologfragment ?
, why cant fragment included in dailogfragment layout ?
because nested fragment can't added parent fragment through inflation of layout file containing them. below note docs:
note: cannot inflate layout fragment when layout includes < fragment >. nested fragments supported when added fragment dynamically.
any have suggestion ?
add examplefragment
in code: in oncreateview()
method of dialog fragment create instance of examplefragment
, using getchildfragmentmanager()
add container dialog_layout
.
Comments
Post a Comment