Я хочу анализировать разные данные JSON, используя одно и то же действие, нажимая разные кнопки. Я просто хочу заключить, что у меня есть несколько ImageViews для действия, и когда я щелкаю в любом ImageView, он должен открывать одно и то же действие, но данные должны отличаться в зависимости от нажатия ImageViews. Здесь у меня есть класс активности Java, в котором присутствуют различные ImageViews.
imageView1 = findViewById(R.id.Hospital1);
imageView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Activity1.this, DetailActivity.class);
startActivity(intent);
}
}); imageView2 = findViewById(R.id.Hospital2);
imageView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Activity1.this, DetailActivity.class);
startActivity(intent);
}
}); imageView3 = findViewById(R.id.Hospital3);
imageView3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Activity1.this, DetailActivity.class);
startActivity(intent);
}
}); imageView4 = findViewById(R.id.Hospital4);
imageView4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Activity1.this, DetailActivity.class);
startActivity(intent);
}
});}
И это моя функция DetailActivity, которую я хочу вызвать при нажатии на любой из этих ImageViews.
aQuery.progress(R.id.progressBar).ajax(fetchurl, JSONArray.class, new AjaxCallback<JSONArray>() {
@Override
public void callback(String url, JSONArray array, AjaxStatus status) {
super.callback(url, array, status);
Log.i("response", url + "response:" + array); ArrayList<UserInfo> list = new ArrayList<>(); for (int i = 0; i < array.length(); i++) { try {
JSONObject object = array.getJSONObject(i);
UserInfo info = new UserInfo();
info.id = object.getString("Id");
info.servicename = object.getString("name");
info.amount = object.getString("amount");
list.add(info); textView1.append(info.id + "." + "\n\n");
textView2.append(info.servicename + " " + "\n\n");
textView3.append(info.amount + " " + "\n\n"); progressbar.setVisibility(View.GONE); } catch (JSONException je) {
Toast.makeText(aQuery.getContext(), "Error Parsing Data!", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(aQuery.getContext(), "Something went wrong...", Toast.LENGTH_LONG).show();
} }
if (status.getCode() == 500) {
Toast.makeText(aQuery.getContext(), "Server is busy, Try Again!", Toast.LENGTH_LONG).show();
} else if (status.getCode() == 404) {
Toast.makeText(aQuery.getContext(), "Resource Not Found!", Toast.LENGTH_LONG).show();
} else if (status.getCode() == 200) { } else {
Toast.makeText(aQuery.getContext(), "Unexpected Error Occured !", Toast.LENGTH_LONG).show();
}
}
});
Моя проблема в том, что когда я нажимаю на любой ImageView, он открывает DetailActivity, но все данные одинаковы для всех ImageView. Могу ли я что-то сделать с базой данных? Вот изображение моей базы данных. Нажмите здесь ...
Я новичок в программировании Android, было бы более благодарно, если бы я получил блок кода, где мне нужно редактировать мой код. Я просто хочу показать данные из столбца базы данных" name2 " и" amount2 " для imageView2.
В настоящее время я использую String fetchurl ="http://192.168.0.111/MyApplication/select.php"; url. Вы можете дополнительно просмотреть мои данные Json.