我有一个列表视图,当我单击一个项目时,我想从ArrayList中获取数据,但是我不知道该怎么做:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {
//what do i do
}
});
通过这种方式获取数据:
JSONObject object = new JSONObject(response);
JSONArray jsonArray = object.getJSONArray("search");
for (int i = 0; i < jsonArray.length(); i++){
final JSONObject object1 = jsonArray.getJSONObject(i);
arrayList.add(new resultsearch(
object1.getInt("id"),
object1.getString("destination"),
object1.getString("infor"),
object1.getString("city"),
object1.getInt("rating"),
object1.getString("img"),
BigDecimal.valueOf(object1.getDouble("point")).floatValue(),
object1.getString("comments")
));
}
adapter.notifyDataSetChanged();
答案 0 :(得分:1)
我假设您已经在列表中包含条目。我认为您在适配器内的列表将是arrayList
。因此arraylist
内的位置就是您单击的项目的位置。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {
arraylist.get(position);
}
});
我不知道您在这里拥有什么样的物体:所以它将像:Object yourObject = arraylist.get(position);
或者如Karim的评论中所述。通过适配器adapter#getItem(position)
获取物品!
答案 1 :(得分:0)
您可以使用position
的{{1}}参数来访问位于任何特定位置的数据。
AdapterView.OnItemClickListener#onItemClick
答案 2 :(得分:0)
从OnitemClickListener方法内部的ArrayList中获取数据的方法是
const { items } = this.state;
使用-Dspring.profiles.active=e1
方法,您可以在数组列表中的索引bookList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String bookName = booksArrayList.get(position);
}
});
处获取值。
答案 3 :(得分:0)
我假设您在ResultSearch类中拥有所有的吸气剂
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, final View view, int position, long id) {
String information;
ResultSearch resultSearch = arrayList.get(position);
information = new StringBuilder()
.append("id: " + resultSearch.getInt("id") + "\n")
.append("destination: " + resultSearch.getString("destination") + "\n")
.append("infor: " + resultSearch.getString("infor") + "\n")
.append("city: " + resultSearch.getString("city") + "\n")
.append("rating: " + resultSearch.getInt("rating") + "\n")
.append("img: " + resultSearch.getString("img") + "\n")
.append("point: " + resultSearch.getDouble("point") + "\n")
.append("comments: " + resultSearch.getString("comments") + "\n")
.toString();
//display this using an AlertDialog or open an activity containing this information
}
});