Tôi nhận được một số dữ liệu dưới dạng phản hồi JSON từ máy chủ. Tôi trích xuất dữ liệu tôi cần và tôi muốn đưa dữ liệu này vào một mảng chuỗi. Tôi không biết kích thước của dữ liệu, vì vậy tôi không thể khai báo mảng đó là tĩnh. Tôi tuyên bố một mảng chuỗi động:Chèn chuỗi động vào một mảng chuỗi trong Android
String[] xCoords = {};
Sau này tôi chèn dữ liệu trong mảng:
for (int i=0; i<jArray.length(); i++) {
JSONObject json_data = jArray.getJSONObject(i);
xCoords[i] = json_data.getString("xCoord");
}
Nhưng tôi nhận được
java.lang.ArrayIndexOutOfBoundsException
Caused by: java.lang.ArrayIndexOutOfBoundsException
cách để tự động chèn chuỗi là gì vào một mảng chuỗi?
Tôi đã thử với điều này, nhưng nếu tôi chỉ gõ' String [] xCoords = xCoordsList.toArray(); 'nó mang lại cho tôi một' Kiểu không khớp: không thể chuyển đổi từ Object thành] thành chuỗi [] ', vì vậy tôi tạo dòng thành' String [] xCoords = (String []) xCoordsList.toArray(); 'nhưng cái này sau đó hiển thị một số '08-04 11: 54: 24.462: ERROR/AndroidRuntime (1173): Gây ra bởi: java.lang.ClassCastException: [Ljava.lang.Object;' error. –
xin lỗi Tôi đã chỉnh sửa câu trả lời .. chỉ cần thêm Chuỗi truyền vào câu lệnh cuối cùng' (Chuỗi []) ' –
Đây là điểm của tôi - ngay cả với phiên bản đã chỉnh sửa mà ứng dụng dừng lại (bạn phải Buộc đóng nó) và LogCat hiển thị 'java.lang.ClassCastException: [Ljava.lang.Object;' 'Gây ra bởi: java.lang.ClassCastException: [Ljava.lang.Object;' –