java - Why i can't start activity in my android app? -
if test on samsung galaxy 2 code works:
for(int = 0; < all_ids.size(); i++) { if(i == position) { system.out.println("rabotaet if"); string topic = null; string message_id = null; intent activity = new intent(getapplicationcontext(), messageactivity.class); activity.putextra(session_id, sess_id); activity.putextra(date,date); activity.putextra(type,folder_type); activity.putextra(topic,all_subjects.get(i)); activity.putextra(message_id, all_ids.get(i)); activity.putextra(from, all_emails_address.get(i)); startactivity(activity); } }
but if test on samsung tab 3, it's not working. , in debug see message:
04-14 12:27:10.760: w/system.err(24669): java.lang.indexoutofboundsexception: invalid index 4, size 0
any ideas?
after update i've code:
for(int = 0; < all_ids.size(); i++) { if(i == position) { system.out.println("rabotaet if"); string topic = null; string message_id = null; intent activity = new intent(getapplicationcontext(), messageactivity.class); activity.putextra(session_id, sess_id); activity.putextra(date,date); activity.putextra(type,folder_type); if (i < all_ids.size()) activity.putextra(message_id,all_ids.get(i)); if (i < all_subjects.size()) activity.putextra(topic,all_subjects.get(i)); if (i < all_emails_address.size()) activity.putextra(from, all_emails_address.get(i)); startactivity(activity); } }
but i've error:
04-14 12:39:59.480: e/androidruntime(26359): fatal exception: main 04-14 12:39:59.480: e/androidruntime(26359): java.lang.runtimeexception: unable start activity componentinfo{com.gdes.earchive/com.gdes.earchive.messageactivity}: java.lang.nullpointerexception 04-14 12:39:59.480: e/androidruntime(26359): @ android.app.activitythread.performlaunchactivity(activitythread.java:2249) 04-14 12:39:59.480: e/androidruntime(26359): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2299) 04-14 12:39:59.480: e/androidruntime(26359): @ android.app.activitythread.access$700(activitythread.java:154) 04-14 12:39:59.480: e/androidruntime(26359): @ android.app.activitythread$h.handlemessage(activitythread.java:1284) 04-14 12:39:59.480: e/androidruntime(26359): @ android.os.handler.dispatchmessage(handler.java:99) 04-14 12:39:59.480: e/androidruntime(26359): @ android.os.looper.loop(looper.java:137) 04-14 12:39:59.480: e/androidruntime(26359): @ android.app.activitythread.main(activitythread.java:5306) 04-14 12:39:59.480: e/androidruntime(26359): @ java.lang.reflect.method.invokenative(native method) 04-14 12:39:59.480: e/androidruntime(26359): @ java.lang.reflect.method.invoke(method.java:511) 04-14 12:39:59.480: e/androidruntime(26359): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1102) 04-14 12:39:59.480: e/androidruntime(26359): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:869) 04-14 12:39:59.480: e/androidruntime(26359): @ dalvik.system.nativestart.main(native method) 04-14 12:39:59.480: e/androidruntime(26359): caused by: java.lang.nullpointerexception 04-14 12:39:59.480: e/androidruntime(26359): @ com.gdes.earchive.messageactivity.oncreate(messageactivity.java:37) 04-14 12:39:59.480: e/androidruntime(26359): @ android.app.activity.performcreate(activity.java:5255) 04-14 12:39:59.480: e/androidruntime(26359): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1097) 04-14 12:39:59.480: e/androidruntime(26359): @ android.app.activitythread.performlaunchactivity(activitythread.java:2213) 04-14 12:39:59.480: e/androidruntime(26359): ... 11 more
your loop based on size of all_ids
. you're using 2 other array-type of variables: all_subjects
, all_emails_address
. 1 of them has size of 0 (no elements).
you need check size before using them:
if (i < all_subjects.size()) activity.putextra(topic,all_subjects.get(i)); if (i < all_emails_address.size()) activity.putextra(from, all_emails_address.get(i));
Comments
Post a Comment