gpt4 book ai didi

android - TextView中的隐藏字段/标签?

转载 作者:IT老高 更新时间:2023-10-28 22:02:04 30 4
gpt4 key购买 nike

我想通过 TextView 传递将在运行时生成的值。 text 属性用于其他一些数据,不会显示我要传递的数据。所以,它就像一个隐藏的标签。可以用TextView吗?如果是,TextView 的哪个属性。

为简单起见,假设我从数据表中提取 ID 和 TEXT。现在 TEXT 显示在 TextView 上,但是当我想将对表的特定行的引用传递给其他函数时,我想将 ID 作为参数/句柄传递。因此,ID 将被隐藏并与 TextView 关联。我该怎么做?如果不可能,您能否提出任何替代方案来实现这一目标?顺便说一句,TextView 嵌入在 ListView 中。

适配器代码:

cursor = db.rawQuery("SELECT * FROM EmpTable", null);

adapter = new SimpleCursorAdapter(
this,
R.layout.item_row,
cursor,
new String[] {"Emp_Name"},
new int[] {R.id.txtEmployee});

最佳答案

试试 setTag(int, Object)getTag(int) .如果您只想存储一个值,甚至还有不带 key 的版本。来自文档:

Sets the tag associated with this view. A tag can be used to mark a view in its hierarchy and does not have to be unique within the hierarchy. Tags can also be used to store data within a view without resorting to another data structure.

所以你可以这样做:

textView.setTag(myValue);

稍后再取回:

myValue = textView.getTag();

由于接口(interface)使用Object,您需要添加强制转换。例如,如果您的值是 int:

textView.setTag(Integer.valueOf(myInt));

和:

myInt = (Integer) textView.getTag();

编辑 - 子类化并添加标签,使用:

adapter = new SimpleCursorAdapter(this, R.layout.item_row,
cursor, new String[] {"Emp_Name"}, new int[] R.id.txtEmployee}) {
@Override
public View getView (int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
view.setTag(someValue);
return view;
}
};

关于android - TextView中的隐藏字段/标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5251772/

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