java - Passing ArrayList<String> from activity to fragment in android -


i have been dealing issue while cannot seem figure out, trying pass arraylist<string> activity fragment, however, following stack trace when run code

03-30 19:26:38.465  28955-28955/org.tcnjteamandroid.cryptochat e/androidruntime﹕ fatal exception: main     process: org.tcnjteamandroid.cryptochat, pid: 28955     java.lang.runtimeexception: unable start activity componentinfo{org.tcnjteamandroid.cryptochat/org.tcnjteamandroid.cryptochat.drawer}: android.view.inflateexception: binary xml file line #24: error inflating class fragment             @ android.app.activitythread.performlaunchactivity(activitythread.java:2299)             @ android.app.activitythread.handlelaunchactivity(activitythread.java:2361)             @ android.app.activitythread.access$800(activitythread.java:145)             @ android.app.activitythread$h.handlemessage(activitythread.java:1279)             @ android.os.handler.dispatchmessage(handler.java:102)             @ android.os.looper.loop(looper.java:135)             @ android.app.activitythread.main(activitythread.java:5240)             @ java.lang.reflect.method.invoke(native method)             @ java.lang.reflect.method.invoke(method.java:372)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:694)      caused by: android.view.inflateexception: binary xml file line #24: error inflating class fragment             @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:763)             @ android.view.layoutinflater.rinflate(layoutinflater.java:806)             @ android.view.layoutinflater.inflate(layoutinflater.java:504)             @ android.view.layoutinflater.inflate(layoutinflater.java:414)             @ android.view.layoutinflater.inflate(layoutinflater.java:365)             @ android.support.v7.app.actionbaractivitydelegatebase.setcontentview(actionbaractivitydelegatebase.java:228)             @ android.support.v7.app.actionbaractivity.setcontentview(actionbaractivity.java:102)             @ org.tcnjteamandroid.cryptochat.drawer.oncreate(drawer.java:53)             @ android.app.activity.performcreate(activity.java:5933)             @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1105)             @ android.app.activitythread.performlaunchactivity(activitythread.java:2252)             at android.app.activitythread.handlelaunchactivity(activitythread.java:2361)             at android.app.activitythread.access$800(activitythread.java:145)             at android.app.activitythread$h.handlemessage(activitythread.java:1279)             at android.os.handler.dispatchmessage(handler.java:102)             at android.os.looper.loop(looper.java:135)             at android.app.activitythread.main(activitythread.java:5240)             at java.lang.reflect.method.invoke(native method)             at java.lang.reflect.method.invoke(method.java:372)             at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:694)      caused by: java.lang.nullpointerexception: attempt invoke virtual method 'java.util.arraylist android.os.bundle.getstringarraylist(java.lang.string)' on null object reference             @ org.tcnjteamandroid.cryptochat.navigationdrawerfragment.oncreateview(navigationdrawerfragment.java:96)             @ android.support.v4.app.fragment.performcreateview(fragment.java:1786)             @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:920)             @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1104)             @ android.support.v4.app.fragmentmanagerimpl.addfragment(fragmentmanager.java:1206)             @ android.support.v4.app.fragmentmanagerimpl.oncreateview(fragmentmanager.java:2159)             @ android.support.v4.app.fragmentactivity.oncreateview(fragmentactivity.java:297)             @ android.support.v7.app.actionbaractivity.oncreateview(actionbaractivity.java:547)             @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:727)             at android.view.layoutinflater.rinflate(layoutinflater.java:806)             at android.view.layoutinflater.inflate(layoutinflater.java:504)             at android.view.layoutinflater.inflate(layoutinflater.java:414)             at android.view.layoutinflater.inflate(layoutinflater.java:365)             at android.support.v7.app.actionbaractivitydelegatebase.setcontentview(actionbaractivitydelegatebase.java:228)             at android.support.v7.app.actionbaractivity.setcontentview(actionbaractivity.java:102)             at org.tcnjteamandroid.cryptochat.drawer.oncreate(drawer.java:53)             at android.app.activity.performcreate(activity.java:5933)             at android.app.instrumentation.callactivityoncreate(instrumentation.java:1105)             at android.app.activitythread.performlaunchactivity(activitythread.java:2252)             at android.app.activitythread.handlelaunchactivity(activitythread.java:2361)             at android.app.activitythread.access$800(activitythread.java:145)             at android.app.activitythread$h.handlemessage(activitythread.java:1279)             at android.os.handler.dispatchmessage(handler.java:102)             at android.os.looper.loop(looper.java:135)             at android.app.activitythread.main(activitythread.java:5240)             at java.lang.reflect.method.invoke(native method)             at java.lang.reflect.method.invoke(method.java:372)             at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899)             at com.android.internal.os.zygoteinit.main(zygoteinit.java:694) 

the code using pass information , pick follows:

@override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_drawer);      mnavigationdrawerfragment = (navigationdrawerfragment)             getsupportfragmentmanager().findfragmentbyid(r.id.navigation_drawer);     mtitle = gettitle();      arraylist<string> menuitems = new arraylist<string>();     menuitems.add("test");      bundle bundle = new bundle();     bundle.putstringarraylist("edttext", menuitems);     /* set fragmentclass arguments */     navigationdrawerfragment fragobj = new navigationdrawerfragment();     fragobj.setarguments(bundle);      // set drawer.     mnavigationdrawerfragment.setup(             r.id.navigation_drawer,             (drawerlayout) findviewbyid(r.id.drawer_layout));  } 

and code using pick new arguments is:

@override     public view oncreateview(layoutinflater inflater, viewgroup container,                              bundle savedinstancestate) {         arraylist<string> strtext = getarguments().getstringarraylist("edttext");         mdrawerlistview = (listview) inflater.inflate(                 r.layout.fragment_navigation_drawer, container, false);         mdrawerlistview.setonitemclicklistener(new adapterview.onitemclicklistener() {             @override             public void onitemclick(adapterview<?> parent, view view, int position, long id) {                 selectitem(position);             }         });         mdrawerlistview.setadapter(new arrayadapter<string>(                 getactionbar().getthemedcontext(),                 android.r.layout.simple_list_item_activated_1,                 android.r.id.text1,                 strtext));         mdrawerlistview.setitemchecked(mcurrentselectedposition, true);         return mdrawerlistview;     } 

any appreciated!

you can use class static arraylist property

public class values {     public static arraylist<string> myarraylist; } 

in activity:

arraylist<string> menuitems = new arraylist<string>(); values.myarraylist = menuitems; 

in fragment

arraylist<string> strtext = values.myarrayadapter; 

Comments

Popular posts from this blog

cakephp - simple blog with croogo -

How to group boxplot outliers in gnuplot -

bash - Performing variable substitution in a string -