我有这个包括
我必须以相同的布局“包括”这次“包括”两次。
如何在RL1中获取TextView? 我以为我能做到这一点:
RelativeLayout layout1 = (RelativeLayout) findViewById(R.id.RL1);
TextView textView = (TextView)layout1.findViewById(R.id.textViewId);
但这种方式似乎我得到了来自RL1和RL2的TextView的相同实例。
这是完整的布局:
<LinearLayout>
<RelativeLayout
android:id="@+id/RL1">
<include layout="@layout/game_area"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/RL2">
<include layout="@layout/game_area"/>
</RelativeLayout>
</LinearLayout>
提前谢谢
答案 0 :(得分:0)
按ID搜索时,您总能找到第一个项目,因此隐藏了第二个小部件。
然而,它可以解决
<include> -- id1
-- stuff
</include>
<include> -- id2
-- stuff
</include>
所以我们可以通过首先查找id2 / id1找到子元素。
View include_1 = findViewById(R.id.id1);
View include_2 = findViewById(R.id.id2);
最后
include_2.findViewById(R.id.elementx );
答案 1 :(得分:0)
<LinearLayout>
<RelativeLayout>
<include android:id="@+id/RL1" layout="@layout/game_area"/>
</RelativeLayout>
<RelativeLayout>
<include android:id="@+id/RL2" layout="@layout/game_area"/>
</RelativeLayout>
您需要将id
添加到include
代码