Я пытаюсь показать AlertDialog
с некоторыми номерами, которые я получаю с сервера. Отображение работ. И это также переходит к следующему действию. Он работает на моем устройстве Android, но на некоторых это дает исключение, и телефонные сбои.Alertdialog ArrayIndexOutOfBoundsException error
Я всегда получаю это исключение в LogCat:
D/Исключение: java.lang.ArrayIndexOutOfBoundsException: длина = 0; Индекс = -1
Это мой код:
private void showOrderPopup(){
try{
materialLoaderOdoo = new MaterialLoaderOdoo();
dbOrderModel = new DbOrderModel(context);
Integer partnerId = dbOrderModel.getPartnerIdByReference(Name);
final List<Integer> listResults = new ArrayList<Integer>();
List<Integer> result = dbOrderModel.getOrderById(Integer.parseInt(partnerId.toString()));;
if(result.size() > 1){
int t = result.size();
newArray = new String[result.size()];
//newArray[0] = "565";
//newArray[1] = "565";
for(int d=0;d<result.size();d++){
listResults.add(d,result.get(d));
}
for(int d=0;d<result.size();d++){
String r = result.get(d).toString();
newArray[d] = result.get(d).toString();
System.out.println(newArray[d]);
}
AlertDialog.Builder builder =
new AlertDialog.Builder(YardActivity.this);
builder.setTitle("Select One Letter");
int selected = selectedItem;
builder.setSingleChoiceItems(
newArray,
selected,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {
selectedItem=which;
System.out.println(which);
String nam = listResults.get(which).toString();
materialLoaderOdoo.execute(nam);
//System.out.println(newArray[selectedItem].toString());
Toast.makeText(YardActivity.this,"Loading materials...",Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});
AlertDialog alert = builder.create();
alert.show();
}else{
Toast.makeText(YardActivity.this,"Loading materials...",Toast.LENGTH_LONG).show();
OrderId = listResults.get(0);
String w = listResults.get(0).toString();
materialLoaderOdoo.execute(w);
}
} catch (Exception e) {
AlertHandler alertHandler = new AlertHandler(YardActivity.this);
alertHandler.ShowAlert(YardActivity.this,"Error","Something went wrong!");
Log.d("Exception", e.toString());
}
}
Каждый знает, как исправить это исключение? Я пробовал много вещей, но он все еще отображается в моем logcat.