使用隐藏的TextView作为标识符是一个好的做法吗?

3

我对Android开发一窍不通,想知道使用隐藏的TextView作为标识符是否是一个好的实践。

我经常接收JSON数据,并将行ID放入TextView中并使其不可见。当我使用可点击的ListView时,我会使用这个技巧。

这样做是错误的吗?有更好的方法来完成同样的事情吗?

谢谢。


4
这样做有问题吗?这样做不好,因为它增加了一个额外的视图(这会在性能方面造成成本),而且大多数情况下是没有必要的。每个视图都有一个 setTag() 方法,您可以使用它来向其添加附加信息。 - user
2
为什么不将其存储在单独的“数据”类中? - codeMagic
2
你已经在这里拥有一个id:protected void onListItemClick(ListView l, View v, final int position, long id) - Phantômaxx
1
一个缺点可能是,如果你在xml中声明TextView时,会混淆视图和逻辑,而这并不是真正需要的,这违反了设计原则。 - Marcus
谢谢大家的反馈,我会进行修改。 - Tony
1个回答

5
总结一下你收到的评论:
我想知道使用隐藏的TextView作为标识符是否是一个好的实践。
不是的。声明要在程序逻辑中使用的视图元素将违反将视图(xml)与应用程序逻辑(java)分离的原则。而且,正如Luksprog所指出的那样;
这不好,因为你添加了一个额外的视图(在性能方面的成本),大多数情况下没有任何意义。
相反,按照Der Gol...lum的建议使用Android框架回调方法onListItemClick:
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    //do something cleaver with the ID parameter
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接