【问题标题】:Multiple TextViews with one ID [duplicate]具有一个 ID 的多个 TextView [重复]
【发布时间】:2018-08-22 12:33:09
【问题描述】:

如何在一个布局中创建多个TextViews,一个ID?这是我的 XML:

<TextView
                android:id="@+id/tooltext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="5dp"
                android:textColor="#ffffff"
                android:textStyle="bold"
                android:textSize="20sp"
                android:layout_gravity="center"/>

<TextView
                android:id="@+id/tooltext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="5dp"
                android:textColor="#ffffff"
                android:textStyle="bold"
                android:textSize="20sp"
                android:layout_gravity="center"/>
<TextView
                android:id="@+id/tooltext"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="5dp"
                android:textColor="#ffffff"
                android:textStyle="bold"
                android:textSize="20sp"
                android:layout_gravity="center"/>

这是我的 Java 代码

TextView lVl = (TextView) findViewById(R.id.tooltext);
lVl.setText("b a g i n n e r");

当我运行时,只出现一个TextView。为什么?

【问题讨论】:

  • 真的不可能这样。为什么不给他们不同的ID?

标签: java android


【解决方案1】:

你不能

ID 在布局范围内是唯一的。

您无法命名它们,但可以使用一种布局。

然后在该布局内循环它们并为所有它们设​​置相同的值。喜欢这里:Get all child views inside LinearLayout at once

【讨论】:

  • 你确定吗?你为什么不试试呢?
  • @mTak 实际上,您可以在 1 个布局中命名 2 个相同的视图,并且它会编译。但它有什么意义呢? findViewByID 仅返回 1 个视图。这会产生不可预测的代码,并且不会对作者有任何重要的帮助。
  • 我已经提到这不是一个好习惯,不推荐但有可能
【解决方案2】:

真的不可能这样。你可以使用 ListView

【讨论】:

  • 你能给出示例代码吗?
  • 你确定吗?你为什么不试试呢?
猜你喜欢
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 2012-04-25
  • 2018-08-02
  • 2013-01-25
  • 2018-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多