【发布时间】:2016-05-14 10:23:23
【问题描述】:
代码运行良好,比我向数据库中添加了 2 多条记录,它开始出现问题。 这是我的代码:
//Workout Name Decider
public String Workout_Name(String id_S) {
String workout_name = "";
String template = "";
String holder = "";
if (id_S.equals("REST")) {
workout_name = "Rest";
} else {
String[] allColumns = new String[]{
Dbhelper.WORKOUTS_ID,
Dbhelper.WORKOUT_NAME,
Dbhelper.WORKOUT_TIME
};
Cursor cursor = database.query(Dbhelper.TABLE_WORKOUTS_STOCK, allColumns, "_id=\'" + id_S + "\'", null, null, null, null, "1");
if (cursor != null) {
cursor.moveToFirst();
//id = cursor.getString(2);
if (cursor.getString(1).contains("SPARTAN SPECIALE ADVANCED") || cursor.getString(1).contains("SPARTAN SPECIALE BEGINNER") || cursor.getString(1).contains("TRICEPS SMASHER REPS")) {
template = "(reps)";
} else {
template = "(" + cursor.getString(2) + ")";
}
}
try {
workout_name_shortener = cursor.getString(1).split("\\s+");
} catch (PatternSyntaxException ex) {
}
int counter = 0;
for (int i = 0; i < workout_name_shortener.length; i++) {
if (workout_name_shortener[i].equals("TIMER") || workout_name_shortener[i].equals("REPS") || workout_name_shortener[i].equals("ADVANCED") || workout_name_shortener[i].equals("BEGINNER") && counter != 0) {
break;
} else {
holder += workout_name_shortener[i] + " ";
}
counter++;
}
workout_name = holder + template;
cursor.close();
}
return workout_name;
}
这是错误:
致命异常:主要 进程:com.spartanbodyweightworkouts,PID:9198 java.lang.RuntimeException:无法启动活动 组件信息{com.spartanbodyweightworkouts/com.spartanbodyweightworkouts.tabs.plan.planAdapter.planAdapter.PlanAdapter}: android.database.CursorIndexOutOfBoundsException:请求索引 0, 大小为 0 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起:android.database.CursorIndexOutOfBoundsException:索引 0 请求,大小为 0.....
【问题讨论】: