私はプログラムがonResponseメソッドに入っていないので、JSONからデータを取得して配列に返したいのですが、配列は常にnullで返します。これはなぜonResponseメソッドをスキップしていますか?
このデータをRecyclerViewに表示したいとします。最初は機能しましたが、今はうまくいかない理由はわかりません...
private SzabadEuMusorok[] getSzabadEuMusoroks(){
if (isNetworkAvaible()){
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("validurl").build();
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
alertUserAboutError();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
try {
String jsonData = response.body().string();
Log.v("JSONDATA", jsonData);
if(response.isSuccessful()){
JSONArray jsonArray = new JSONArray(jsonData);
mSzabadEuMusoroks = new SzabadEuMusorok[jsonArray.length()];
for (int i = 0; i < jsonArray.length(); i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
SzabadEuMusorok szabadEuMusorok = new SzabadEuMusorok();
JSONArray elementTexts = jsonObject.getJSONArray("element_texts");
JSONObject titleObject = elementTexts.getJSONObject(0);
szabadEuMusorok.setTitile(titleObject.getString("text"));
JSONObject subjectObject = elementTexts.getJSONObject(3);
szabadEuMusorok.setSubject(subjectObject.getString("text"));
JSONObject mainObject = jsonObject.getJSONObject("files");
szabadEuMusorok.setVideoURL(mainObject.getString("url"));
mSzabadEuMusoroks[i] = szabadEuMusorok;
}
}
} catch (JSONException e) {
Log.e("JSONEXCEPTION", "Exception caught: ", e);
}
}
});
}
else{
Toast.makeText(this, R.string.network_unavaible_message, Toast.LENGTH_LONG).show();
}
return mSzabadEuMusoroks;
私は、デバッガでそれを通過して、FI仕事... – Marci