【发布时间】:2017-08-01 18:02:46
【问题描述】:
我正在使用 Android Php Mysql 制作一个在线应用程序。我已经用产品名称填充了列表视图。但是我想在单击它时获取这些项目的 ID。但是当我在android中解析“products_id”时。我只得到最后一个 Product_ID。 这是我的代码:
try {
JSONObject obj = new JSONObject(aVoid);
JSONArray array = obj.getJSONArray("server_response");
for (int i = 0; i < array.length(); i++) {
JSONObject obj2 = array.getJSONObject(i);
final int product_id = obj2.getInt("product_id");
String product_name = obj2.getString("product_name");
arr.add(product_name);
ArrayAdapter adapter = new ArrayAdapter(ViewProduct.this, android.R.layout.simple_list_item_1, arr);
li_pro.setAdapter(adapter);
li_pro.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
position = product_id;
// i = product_id;
Toast.makeText(getApplicationContext(), "",Toast.LENGTH_LONG).show();
}
});
}
} catch (Exception ex) {
Toast.makeText(ViewProduct.this, "" + ex, Toast.LENGTH_LONG).show();
}
【问题讨论】:
-
因为您没有将您的 product_id 添加到任何列表中,而是在循环内重新分配 product_id 的值,因此,最后,您获得了您提供的最后一个值循环。
-
什么也没发生。我在列表视图中填充了项目并成功检索它。但是当我点击任何项目时,我会得到最后一个项目 ID。而且我不想向用户显示“PRODUCT_ID”。