如何在Activity的OnCreate()方法中调用findViewWithTag方法?

3

onCreate()中调用findViewWithTag()时出现了错误。

"方法findViewWithTag(String)未定义于MainActivity类型"

有没有其他替代方法?


它只是 findViewWithTag,对吧? - Enigman
该方法是View#findViewWithTag(),它不是Activity类的一部分。也许您想使用更有用的findViewById()方法? - Sam
@Sam 不好意思,我真的需要使用findViewWithTag,因为我必须循环遍历多个TextView并设置它们的文本。因此,我已经为每个TextView添加了标签,从01、02...一直到26、27。 对我来说,访问标签更容易,因为它是一个字符串。 有没有仅使用它们的ID的方法? - Enigman
1
TextView必须存放在某种ViewGroup(例如LinearLayout)中。您需要获取对此ViewGroup的引用,最简单的方法是为其分配一个id并使用LinearLayout layout = (LinearLayout) findViewById(R.id.xxx)。现在您可以调用layout.findViewWithTag(tag) - Sam
1个回答

10

findViewWithTag() 仅适用于 View。

如果您拥有对使用 setContentView(contentView) 设置的 activity 的 contentView 的引用,则可以使用 contentView.findViewWithTag()

如果您没有该视图的引用,也可以使用 findViewById(R.id.your_content_view_id).findViewWithTag(tag)


2
部分正确,方法确实是findViewWithTag(),但它是 View 类的一部分,而不是 Activity 类。 - Sam
@Sam,是的,那就是我提到的。我的回答有什么错误吗? - Vinay S Shenoy
@Sam,谢谢你发现了这个问题!我想是自动建议的结果太多了! - Vinay S Shenoy

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