Создать кнопку по клику перенаправить на URL в json android - PullRequest
0 голосов
/ 18 апреля 2020

Здравствуйте, я хочу сделать кнопку onclick, которая перенаправляет на URL в JSON в адаптере списка просмотра. Я хочу, чтобы эта кнопка могла загружаться с json, который перенаправляет URL "pdf". Я не знаю, как сделать кнопку в адаптере списка

Кто-нибудь может мне помочь, как сделать кнопку onclick

Это мой код

  @Override
        protected Void doInBackground(Void... arg0) {
            HttpHandler httpHandler = new HttpHandler();
            // JSON data url
            final String jsonurl = "https://192.168.1.1/s.json";
            String jsonString = httpHandler.makeServiceCall(jsonurl);

            if (jsonString != null) {
                try {
                    JSONObject jsonObject = new JSONObject(jsonString);

                    // Getting JSON Array node
                    JSONArray obj = jsonObject.getJSONArray("data");
                  //  JSONObject jsonObjectInfo=colors.optJSONObject(1);
                    JSONArray c = obj.getJSONArray(1);

                        //   JSONObject c = colors.getJSONObject(0);

                            for (int k = 0; k < c.length(); k++) {
                            JSONObject d = c.getJSONObject(k);
                            String cover= d.getString("cover");
                            String id = d.getString("pub_id");
                            String color = d.getString("title");
                            String type = d.getString("issn");
                            String pdf=d.getString("pdf");

                            HashMap<String, String> colorx = new HashMap<>();
                            colorx.put("cover", cover);
                            colorx.put("pub_id", id);
                            colorx.put("title", color);
                            colorx.put("issn", type);
                            colorx.put("pdf", pdf);

                            colorJsonList.add(colorx);

}
                } catch (final JSONException e) {
                    Log.e(TAG, "Json parsing error: " + e.getMessage());
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(getApplicationContext(),
                                    "Json parsing error: " + e.getMessage(),
                                    Toast.LENGTH_LONG).show();
                        }
                    });

                }
            } else {
                Log.e(TAG, "Could not get json from server.");
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(getApplicationContext(),
                                "Could not get json from server.",
                                Toast.LENGTH_LONG).show();
                    }
                });

            }

            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            // Dismiss the progress dialog
            if (progressDialog.isShowing()) progressDialog.dismiss();

            ListAdapter adapter = new MyAdapter(
                    MainActivity.this, colorJsonList, R.layout.list_item,

                    new String[]{"cover", "pub_id", "title", "issn"},
                    new int[]{R.id.imageView, R.id.colorName, R.id.colorType, R.id.colorHex});

            listView.setAdapter(adapter);



        }

И это мой JSON Структура

{
  "status": "OK",
  "data-availability": "available",
  "data": [
    {
      "page": 2,
      "pages": 35,
      "per_page": 10,
      "count": 10,
      "total": 350
    },
    [
      {
        "pub_id": "0sasc9bf9",
        "title": "xxxxx 2018\u00a0",
        "issn": "-",
        "sch_date": "2019-12-13",
        "rl_date": "2019-12-13",
        "updt_date": null,
        "cover": "https:\/\/sss.com\/publication\/getImageCover.html?url=Mssddsg5YmY5",
        "pdf": "https:\/\/sss.com\/publication\/downloadapi.html?data=utO4ssdfTRF0%3D&tokenuser=",
        "size": "1.66 MB"
      },
      {
        "pub_id": "c6fa8075sad",
        "title": "ttttt 2018\u00a0",
        "issn": "-",
        "sch_date": "2019-12-12",
        "rl_date": "2019-12-12",
        "updt_date": null,
              "cover": "https:\/\/sss.com\/publication\/getImageCover.html?url=Mssdsdasfdsg5YmY5",
        "pdf": "https:\/\/sss.com\/publication\/downloadapi.html?data=utO4ssdsfdsdfTRF0%3D&tokenuser=",
        "size": "1.71 MB"
      }

    ]
  ]
}

это мой класс SimpleAdapter

 public MyAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to){
        super(context, data, resource, from, to);
    }


    public View getView(int position, View convertView, ViewGroup parent){

        View v = super.getView(position, convertView, parent);


        ImageView img = (ImageView) v.getTag();

        if(img == null){
            img = v.findViewById(R.id.imageView);
            v.setTag(img);
        }


        String url = (String) ((Map)getItem(position)).get("cover");

        Picasso.with(v.getContext()).load(url).into(img);

        // return the view
        return v;
    }

Пожалуйста, помогите мне сделать кнопку, которая перенаправляет URL "pdf" в json спасибо

...