android – 隐藏的字段/标签在TextView?

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

为了简单起见,我想从数据表中提取ID和TEXT。现在TEXT显示在TextView上,但是当我想将表的特定行的引用传递给某个其他函数时,我想传递ID作为参数/句柄。所以,ID将被隐藏并与TextView相关联。我该怎么做?如果不可能,你可以建议任何替代方案来实现这一点? BTW,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).甚至还有一些不需要键的版本,如果你只想存储一个值。从文档:

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();

由于界面使用Object,您需要添加cast。例如,如果你的值是一个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;
    }
};
http://stackoverflow.com/questions/5251772/hidden-field-tag-in-textview

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:android – 隐藏的字段/标签在TextView?