【问题标题】:Hiding multiple views with same id隐藏具有相同 ID 的多个视图
【发布时间】:2014-03-21 08:36:45
【问题描述】:

我有一个 xml 文件,其中包含四个具有相同 id 的视图。

现在我想同时隐藏所有这些视图。

所以我写了代码:

TextView maintitle = (TextView) view.findViewById(R.id.fieldheading);
maintitle.setVisibility(View.GONE);

我的 xml 包含所有四个带有 id 的视图:

 android:id="@+id/fieldheading"

但这并没有隐藏任何视图。

是否需要为每个视图提供不同的 id 才能隐藏它们。 不是一下子就隐藏了吗?

注意:所有四个视图都在 xml 文件的不同 LinearLayouts 中。

【问题讨论】:

  • 我认为当您拥有更多相同的 id 时,Android 会感到困惑。它需要唯一的 id。
  • 同意。您不能将相同的 id 分配给同一布局中的多个视图。您可以将它们全部放在一个主容器中并隐藏(如果您的布局自然允许这样放置)

标签: android textview visibility android-view


【解决方案1】:

放四个不同的id,使用隐藏码四次。实际上,您应该创建一个 hideTextView(TextView tv); 并调用它四次以保持干净。

不确定是否可以像你说的那样隐藏文本视图,但这绝对是错误的。

【讨论】:

  • 同意。提供不同的 ID 总是有效的。但是,如果您有许多文本视图要隐藏,或者假设您在循环中创建更多动态文本视图并希望将它们全部隐藏在某个地方,该怎么办。可能,认为应该立即隐藏所有内容。
  • 您可以给他们设置一个标签,然后检查和隐藏带有该标签的项目。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
  • 2020-06-23
  • 2023-03-11
  • 1970-01-01
  • 2013-10-20
相关资源
最近更新 更多