Wednesday, 15 February 2012

Java static Lists in Android -



Java static Lists in Android -

i have static list in model class:

public static list<homepageoptions> homepageoptions = arrays.aslist( new homepageoptions("title1_1", "title2_1"), new homepageoptions("title1_2!", "title2_2"), new homepageoptions("title1_3", "title2_3"), new homepageoptions("title1_4", "title2_4") );

where homepageoptions defined:

public class homepageoptions { string title1; string title2; public homepageoptions (string title1, string title2) { settitle1(title1); settitle2(title2); } //regular setters , getters }

i have activity opens such:

@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_home); list<string> values = new arraylist<string>(); for(homepageoptions ho : pharmacymodel.homepageoptions){ values.add(ho.gettitle1()); } }

the loop giving me exceptionininitializationerror. come across no problems when create regular list right before loop, maintain construction in model class. i've been trying find solution why is. guess static modifier on list homepageoptions. can help?

here's debugger saying

thread [<1> main] (suspended (exception exceptionininitializererror)) <vm not provide monitor information> homeactivity.oncreate(bundle) line: 33 homeactivity(activity).performcreate(bundle) line: 4465 instrumentation.callactivityoncreate(activity, bundle) line: 1049 activitythread.performlaunchactivity(activitythread$activityclientrecord, intent) line: 1920 activitythread.handlelaunchactivity(activitythread$activityclientrecord, intent) line: 1981 activitythread.access$600(activitythread, activitythread$activityclientrecord, intent) line: 123 activitythread$h.handlemessage(message) line: 1147 activitythread$h(handler).dispatchmessage(message) line: 99 looper.loop() line: 137 activitythread.main(string[]) line: 4424 method.invokenative(object, object[], class, class[], class, int, boolean) line: not available [native method] method.invoke(object, object...) line: 511 zygoteinit$methodandargscaller.run() line: 784 zygoteinit.main(string[]) line: 551 nativestart.main(string[]) line: not available [native method]

and logcat

06-20 04:08:06.274: e/androidruntime(1580): fatal exception: main 06-20 04:08:06.274: e/androidruntime(1580): java.lang.exceptionininitializererror 06-20 04:08:06.274: e/androidruntime(1580): @ com.allgoodpeopleus.rootsoflife.homeactivity.oncreate(homeactivity.java:24) 06-20 04:08:06.274: e/androidruntime(1580): @ android.app.activity.performcreate(activity.java:4465) 06-20 04:08:06.274: e/androidruntime(1580): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1049) 06-20 04:08:06.274: e/androidruntime(1580): @ android.app.activitythread.performlaunchactivity(activitythread.java:1920) 06-20 04:08:06.274: e/androidruntime(1580): @ android.app.activitythread.handlelaunchactivity(activitythread.java:1981) 06-20 04:08:06.274: e/androidruntime(1580): @ android.app.activitythread.access$600(activitythread.java:123) 06-20 04:08:06.274: e/androidruntime(1580): @ android.app.activitythread$h.handlemessage(activitythread.java:1147) 06-20 04:08:06.274: e/androidruntime(1580): @ android.os.handler.dispatchmessage(handler.java:99) 06-20 04:08:06.274: e/androidruntime(1580): @ android.os.looper.loop(looper.java:137) 06-20 04:08:06.274: e/androidruntime(1580): @ android.app.activitythread.main(activitythread.java:4424) 06-20 04:08:06.274: e/androidruntime(1580): @ java.lang.reflect.method.invokenative(native method) 06-20 04:08:06.274: e/androidruntime(1580): @ java.lang.reflect.method.invoke(method.java:511) 06-20 04:08:06.274: e/androidruntime(1580): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:784) 06-20 04:08:06.274: e/androidruntime(1580): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:551) 06-20 04:08:06.274: e/androidruntime(1580): @ dalvik.system.nativestart.main(native method) 06-20 04:08:06.274: e/androidruntime(1580): caused by: java.lang.nullpointerexception 06-20 04:08:06.274: e/androidruntime(1580): @ rolmodel.parameter.setvalue(parameter.java:91) 06-20 04:08:06.274: e/androidruntime(1580): @ rolmodel.parameter.<init>(parameter.java:21) 06-20 04:08:06.274: e/androidruntime(1580): @ rolmodel.pharmacymodel.<clinit>(pharmacymodel.java:77) 06-20 04:08:06.274: e/androidruntime(1580): ... 15 more

this

public homepageoptions (string title1, string title2) { settitle1(title1); settitle2(title2); }

should be

public homepageoptions (string title1, string title2) { title1 = title1; title2 = title2; }

java android list android-listview

No comments:

Post a Comment