Android 对listview使用相同的id

Android 对listview使用相同的id,android,android-layout,Android,Android Layout,嗨,有人能告诉我有没有办法在同一版面上使用相同的id? 对于 e、 g android:layout\u width=“包装内容” android:layout\u height=“包装内容” android:text=“测试”/> android:layout\u width=“fill\u parent” android:layout\u height=“包装内容” "/> android:layout\u width=“包装内容” android:layout\u height=“包装内

嗨,有人能告诉我有没有办法在同一版面上使用相同的id? 对于 e、 g


android:layout\u width=“包装内容”
android:layout\u height=“包装内容”
android:text=“测试”/>
android:layout\u width=“fill\u parent”
android:layout\u height=“包装内容”
"/>
android:layout\u width=“包装内容”
android:layout\u height=“包装内容”
android:text=“测试”/>

这是不可能的。 如前所述,android文档

任何视图对象都可能有一个与其关联的整数ID,以唯一标识树中的视图。编译应用程序时,此ID被引用为整数,但该ID通常在布局XML文件中作为ID属性中的字符串指定。这是所有视图对象(由视图类定义)共有的XML属性你会经常使用它


有关详细信息,请参阅此项。

不,您不能这样做


Id意味着永远是唯一的。

Id的目的是唯一地标识布局中的视图。因此,即使您在技术上可以这样做,考虑到良好的编程实践,也不建议这样做

根据android文档:

视图可能有一个与其关联的整数id。这些id是 通常在布局XML文件中指定,并用于查找 视图树中的特定视图

常见的模式是:

  • 在布局文件中定义视图并为其指定唯一ID
  • 从活动的onCreate方法中,找到使用该ID的视图
  • 注意:

    视图ID不必在整个树中都是唯一的,但这很好 实践以确保它们至少在该部分中是唯一的 你正在搜索的树

    参考


    你不能这样做。如果你这样做,你想在活动中动态地做的事情对任何textview都不起作用。

    你可以这样做。但是当你
    getViewById()时
    它将只返回第一个视图。为什么需要上面这样的内容?可能,但它必须是唯一的。任何视图对象都可能有一个与其关联的整数ID,以唯一地标识树中的视图。请检查ID下的主题。我想不出一个很好的理由来解释为什么要这样做。ID的目的是唯一地标识vi所以,即使你能从技术上做到这一点,也不建议你这么做。在哪种情况下你想这么做。顺便说一句,ID必须是唯一的。
    <TextView
        android:id="@+id/test">
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="test"/>
    
    
    
    <ListView
        android:id="@+id/listTest">
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        "/>
    
    
    
    <TextView
        android:id="@+id/test">
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="test"/>