gpt4 book ai didi

android - 如何在 Android 的 View 中嵌入额外信息?

转载 作者:太空狗 更新时间:2023-10-29 13:34:08 24 4
gpt4 key购买 nike

我正在开始 android 开发,在我的示例应用程序中我有一个 ListView,我按如下方式填充它:

ListView listView = (ListView) findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getEntityLabels());
listView.setAdapter(adapter);

getEntityLabels()是一个返回字符串列表的函数。

在底层模型中,标签不是唯一的。相反,每个实体都有一个 id每个实体都是唯一的字段。

class Entity{
int id;
String label;
}

当用户点击 ListView 中的一个项目时,我想做一些处理。因此,我添加了一个 ItemClickListener,如下所示:

listView.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3)
{
//I would like to get the Id of the Entity, not just the label
}});

处理取决于id实体的。但是,由于列表中的 View 只是一个文本并且只包含标签,所以我无法访问它。

有没有办法在 View 中嵌入一些信息,比如 id(在我的例子中),或者有其他方法来获取 id是吗?

我知道可以覆盖 toString() 的方法Entity的方法|返回标签并使用 ArrayAdapter<Entity>而不是 ArrayAdapter<String> .但是,我不是在寻找这个。我正在寻找一种更通用的方式,如果可能的话,我可以在任何 View 中嵌入任何信息!

最佳答案

您可以使用标签并将标签分配给适配器中的每个 View 集。然后您可以在 OnClickListener 中从点击的 View 中读取您的标签并继续。由于标签可以是您喜欢的任何东西(对象),因此应该可以解决您的问题。参见 setTag()及相关。

关于android - 如何在 Android 的 View 中嵌入额外信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450329/

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