data的数据-6ren"> data的数据-我正在android上的listview上工作,每个项目都有自己的id,我不想将它显示给用户例如 List carModelList = new ArrayList<>(); carModelList-6ren">
gpt4 book ai didi

java - 如何在ListView中存储ID并在android java中显示类似的数据

转载 作者:行者123 更新时间:2023-12-02 09:21:50 25 4
gpt4 key购买 nike

我正在android上的listview上工作,每个项目都有自己的id,我不想将它显示给用户例如

List<String> carModelList = new ArrayList<>();
carModelList.add("car1");
carModelList.add("car2");
adapter = new CustomView(this, (ArrayList<String>) carModelList);
mListview.setAdapter(adapter);

现在我知道输出将是

car1
car2

但是我需要的是

List<String> carModelList = new ArrayList<>();
carModelList.add("hidden unique id","car1");//like <option value="hidden unique id">car1</option>
carModelList.add("hidden unique id","car2");
adapter = new CustomView(this, (ArrayList<String>) carModelList);
mListview.setAdapter(adapter);

输出应该是这样的

car1
car2

//when i set the OnItemClickListener
mListview.setOnItemClickListener((parent, view, position, id) -> {

mListview.getItemAtPosition(position).toString()// should give car1 or car2
mListview.getHiddenUniqueIdAtPosition(position).toString()//should give hidden unique id

}

最佳答案

您应该使用模型(POJO)来处理这个问题。检查以下内容:

class ListItem {
String id;
String name;

public ListItem(String id, String name) {
this.id = id;
this.name = name;
}
}

更改适配器的构造函数以处理此数据类型

public CustomView(Context context, ArrayList<ListItem> carModelList) {
}

然后将此列表传递给适配器并在 getView 中仅显示名称

List<ListItem> carModelList = new ArrayList<>();
carModelList.add(new ListItem("hidden unique id","car1"));
carModelList.add(new ListItem("hidden unique id","car2"));
adapter = new CustomView(this, (ArrayList<ListItem>) carModelList);
mListview.setAdapter(adapter);

OnItemClickListener 获取 Id,如下所示:

mListview.setOnItemClickListener((parent, view, position, id) -> {
ListItem listItem = mListview.getItemAtPosition(position);
String id = listItem.id; // this is hidden id
}

关于java - 如何在ListView中存储ID并在android java中显示类似<option value ="id">data</option>的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58641261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com