내 앱에 점수 기능을 구현하려고하는데, 항상 메인 제목에있는 것과 동일한 오류가 발생합니다. 내 오류는 다음과 같습니다. 버튼ERROR -android.database.CursorIndexOutOfBoundsException : 인덱스 0이 요청되었습니다. 크기가 0입니다.
em=bundle.getString("EMAIL");
SQL usdbh =new SQL (this, "DBUsuarios", null, 1);
final SQLiteDatabase db = usdbh.getWritableDatabase();
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0)
{
Cursor c = db.rawQuery(" SELECT p1,p2,p3,p4,p5 FROM Usuarios WHERE Email='"+em+"' ", null);
c.moveToFirst();
p1= c.getInt(0);
p2= c.getInt(1);
p3= c.getInt(2);
p4= c.getInt(3);
p5= c.getInt(4);
if(n7>p1){
db.execSQL("UPDATE Usuarios SET p1="+n7+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p2="+p1+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p3="+p2+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p4="+p3+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p5="+p4+" WHERE Email='"+em+"' ");
}
if(n7>p2&&n7<p1){
db.execSQL("UPDATE Usuarios SET p2="+n7+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p3="+p2+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p4="+p3+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p5="+p4+" WHERE Email='"+em+"' ");
}
if(n7>p3&&n7<p2){
db.execSQL("UPDATE Usuarios SET p3="+n7+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p4="+p3+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p5="+p4+" WHERE Email='"+em+"' ");
}
if(n7>p4&&n7<p3){
db.execSQL("UPDATE Usuarios SET p4="+n7+" WHERE Email='"+em+"' ");
db.execSQL("UPDATE Usuarios SET p5="+p4+" WHERE Email='"+em+"' ");
}
if(n7>p5&&n7<p4){
db.execSQL("UPDATE Usuarios SET p5="+n7+" WHERE Email='"+em+"' ");
}
c.close();
Intent intent2 = new Intent(Cinco.this, MainActivity.class);
Bundle b = new Bundle();
b.putInt("PUNT", n7);
intent2.putExtras(b);
startActivity(intent2);
}
});
나는 오류없이 MainActivity 클래스에서 같은 같은 커서를했지만 그것은 그냥 점수가 올바르게 삽입
테이블에 값을 삽입 didnt는하지만 항상 얻을 textViews에 점수를 퍼트 "불행히도 MyApp는 중단되었습니다." = ( 어떤 아이디어가 있습니까? PD = 내 첫 번째 질문이므로 뭔가 잘못했을 경우 pattient가됩니다.)
'ArrayIndexOutOfBoundException'이 무엇인지 요소가없는 배열에서 0 번째 위치에 액세스하고 있다는 것은 분명합니다. 스택 트레이스에 어떤 라인이 있는지 살펴 보거나 여기에 스택 트레이스를 게시 한 다음 적절하게 로직을 변경하십시오. –