Здравствуйте, я хочу сделать кнопку 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 спасибо