Виртуальный метод getApplicationContext () Ошибка отображения контекста в приложении - PullRequest
1 голос
/ 05 мая 2020

При отображении контекста происходит сбой. В чем может быть проблема? По вашему запросу результатов не найдено.

Если результаты найдены, при отсутствии контекстного меню отображается, что результаты не найдены, но выдает ошибку и сбой приложения

 public void run(final View view) throws IOException{
    Log.d(TAG, "run: up and running...");

    if (frag_id==0 || frag_id==1) {  //if home fragment & search fragment
        Log.d(TAG, "getIntentData: frag id not 2");
        if (search_term == null) {
            urlImage = "https://api.pexels.com/v1/curated";
        } else {
            int randPage;
            do {
                randPage = new Random().nextInt(15);
            }while(randPage==0);
            urlImage = "https://api.pexels.com/v1/search?query=" + search_term.toLowerCase() + "&per_page=15&page=" + randPage;
        }
    }

    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
            .header("Authorization", StaticUtils.API_KEY)
            .url(urlImage)
            .build();

    client.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(@NonNull Call call, @NonNull IOException e) {
            call.cancel();
        }

        @Override
        public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {

            final String myResponse = response.body() != null ? response.body().string() : null;

            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Log.d(TAG, "run: integrated successfully: ");
                    if (!StaticUtils.imagesListTemp.isEmpty()){
                        StaticUtils.imagesListTemp.clear();
                    }

                    try {
                        JSONObject json = new JSONObject(myResponse);

                        JSONArray jsonArray = json.getJSONArray("photos");
                        if (jsonArray.length()>0){
                            for (int i = 0; i < jsonArray.length(); i++) {
                                JSONObject jsonObject = jsonArray.getJSONObject(i);

                                int imageId = jsonObject.getInt("id");
                                String srcName = jsonObject.getString("photographer");
                                String srcUrl = jsonObject.getString("photographer_url");
                                String dimen = jsonObject.getString("width")+"x"+jsonObject.getString("height");

                                JSONObject srcObject = jsonObject.getJSONObject("src");  //getting the image sources of different dimens
                                String imgSrcOrg = srcObject.getString("original");
                                String imgSrcLarg = srcObject.getString("large");
                                String imgSrcMid = srcObject.getString("medium");
                                String imgSrcSml = srcObject.getString("small");
                                String imgSrcPort = srcObject.getString("portrait");
                                String imgSrcLand = srcObject.getString("landscape");
                                String imgSrcTiny = srcObject.getString("tiny");
                                ImageDifferentSize imageArray = new ImageDifferentSize(imgSrcOrg,imgSrcLarg,imgSrcMid,imgSrcSml,imgSrcPort,imgSrcLand,imgSrcTiny);

                                StaticUtils.imagesListTemp.add(new ImagesItem(imageId, srcName, dimen, srcUrl,imageArray));
                                ImagesFragment.adapter.notifyDataSetChanged();
                            }
                        }else{
                            //replace with snackBar
                            Toast.makeText(getApplicationContext(), "This is my Toast message!",
                                    Toast.LENGTH_SHORT).show();
                        }
                        Log.d(TAG, "run: List size: "+StaticUtils.imagesListTemp.size());
                        boolean isAddSucceed = StaticUtils.imagesList.addAll(StaticUtils.imagesListTemp);
                        Log.d(TAG, "onCreate: Copy operation succeed:"+isAddSucceed+", Final arrayList size: "+StaticUtils.imagesList.size());
                    } catch (JSONException e) {
                        Log.d(TAG, "onResponse: Json Parsing data error.");
                        e.printStackTrace();
                    }
                }

Когда при отображении контекста происходит сбой. В чем может быть проблема? По вашему запросу результатов не найдено.

Если результаты найдены, отображается, если контекстное меню отсутствует, что результаты не найдены, но выдает ошибку и сбой приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...