ArrayIndexOutOfBoundException 删除单条记录
ArrayIndexOutOfBoundException to delete single record
我正在使用带有预填充数据的外部数据库。用户还可以在该数据库中执行 CRUD 操作。但是,当我删除记录时,它会抛出 Array out of bound 异常。这是我为删除记录而实施的代码片段。
String part[] = ((ItemModel) parent.getItemAtPosition(position)).getName().split("-");
String childQuery = "delete from Stock where item_id = (select id from Item where name = '" + part[0].trim() + "' and size = " + part[1].trim() + ")";
DBHelper.execute(childQuery);
String deleteQuery = "delete from Item where name = '" + part[0].trim() + "' and size = " + part[1].trim() + " ";
DBHelper.execute(deleteQuery);
customAdapter.notifyDataSetChanged();
dismiss();
try {
if (!TextUtils.isEmpty(InOutStockActivity.etInOutName.getText().toString())) {
InOutStockActivity.etInOutName.setText("");
}
if (!TextUtils.isEmpty(TotalStockActivity.etTotalName.getText().toString())) {
TotalStockActivity.etTotalName.setText("");
}
} catch (NullPointerException e) {
e.printStackTrace();
}
TastyToast.makeText(mContext, "Record Deleted Successfully.", TastyToast.LENGTH_LONG, TastyToast.DEFAULT);
这里是我的 logcat 错误。
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
at com.v.m.fragment.NameFragment.onClick(NameFragment.java:102)
at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:162)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
提前致谢。
name
不包含“-”,但您的代码假定包含“-”。
我正在使用带有预填充数据的外部数据库。用户还可以在该数据库中执行 CRUD 操作。但是,当我删除记录时,它会抛出 Array out of bound 异常。这是我为删除记录而实施的代码片段。
String part[] = ((ItemModel) parent.getItemAtPosition(position)).getName().split("-");
String childQuery = "delete from Stock where item_id = (select id from Item where name = '" + part[0].trim() + "' and size = " + part[1].trim() + ")";
DBHelper.execute(childQuery);
String deleteQuery = "delete from Item where name = '" + part[0].trim() + "' and size = " + part[1].trim() + " ";
DBHelper.execute(deleteQuery);
customAdapter.notifyDataSetChanged();
dismiss();
try {
if (!TextUtils.isEmpty(InOutStockActivity.etInOutName.getText().toString())) {
InOutStockActivity.etInOutName.setText("");
}
if (!TextUtils.isEmpty(TotalStockActivity.etTotalName.getText().toString())) {
TotalStockActivity.etTotalName.setText("");
}
} catch (NullPointerException e) {
e.printStackTrace();
}
TastyToast.makeText(mContext, "Record Deleted Successfully.", TastyToast.LENGTH_LONG, TastyToast.DEFAULT);
这里是我的 logcat 错误。
java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
at com.v.m.fragment.NameFragment.onClick(NameFragment.java:102)
at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:162)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
提前致谢。
name
不包含“-”,但您的代码假定包含“-”。