나는 재활용 뷰 ANS 카드보기와 MySQL 데이터베이스에서 데이터를 표시하기 위해 노력하고있어,하지만 난이 오류 메시지가 직면하고 있습니다 :이상한 NullPointException
하여 java.lang.NullPointerException : 인터페이스 메소드를 호출하는 시도를 내가 내 루프 (로그)에 검색된 데이터를 표시 할 수이기 때문에
모든 것이 제대로 작동하는 것 같다 null 객체 참조에 'java.util.List.size()를 int로'내가 '할 때 내 목록 data_list에 데이터를 추가하려고하면 모든 데이터가 내 data_list에 의해 반환 된 행의 수를 알 수 있기 때문에 모든 것이 OK입니다
Log.e("number of lines return", String.valueOf(data_list.size()));
하지만 난 내 사용자 정의 어댑터에 DATA_LIST에 도달하기 위해 노력하고있어 때
@Override
public int getItemCount() {
return my_data.size();
}
그것은이 널 (null)이기 때문에 내가 my_data에 액세스 할 수없는 나에게 경고합니다.
데이터베이스 내에서 데이터를 검색 내 코드의 일부 :에서 getItemCount 실행 중에
private void load_data_from_server(final int id) {
//Log.e("iddddsss", String.valueOf(id));
AsyncTask<Integer,Void,Void> task =new AsyncTask<Integer, Void, Void>(){
@Override
protected Void doInBackground(Integer... integers) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.unhabitatrdcongo.org/Recycler-android-mySQL/index2.php?id="+id)
.build();
try {
Response response = client.newCall(request).execute();
JSONArray array = new JSONArray(response.body().string());
for (int i=0; i<array.length(); i++){
JSONObject object = array.getJSONObject(i);
Integer idd = object.getInt("id");
String des = object.getString("description").toString();
String im =object.getString("image").toString();
MyData data = new MyData(idd, des, im);
Log.e("errr", data.getDescription().toString());
data_list.add(data);
}
Log.e("number of lines read", String.valueOf(data_list.size()));
} catch (IOException e) {
e.printStackTrace();
Log.e("erreur IO EXCEPTION", e.toString());
} catch (JSONException e) {
System.out.print("End of content");
Log.e("erreur JSON",e.toString());
}
return null;
}
그럼 어디서나 'my_data'를 설정합니까? 나는 그것을 볼 수 없다. 그리고 그 경우에 왜 그것이 null이라는 사실을 놀라게합니까? –
더 많은 코드보기! – Xenolion