2017-02-07 44 views
-1

我有此包括识别内部的视图包括

enter image description here

我不得不“包括”这个“包括”两次,在相同的布局。

enter image description here

我怎样才能进去RL1 TextView的? 我想我能做到这一点:

RelativeLayout layout1 = (RelativeLayout) findViewById(R.id.RL1); 
TextView textView = (TextView)layout1.findViewById(R.id.textViewId); 

但这样看来,我得到的TextView的同一实例,无论从RL1和RL2。

这是一个完整的布局:

<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

做其他'include'有不同的'@ + id'? – WenChao

+0

将'@ + id'添加到'include'标签 – WenChao

+0

对不起。还有一个错误。我做的工作方式。 谢谢你,对不起,浪费你的时间:) – MDP

回答

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); 

编号:https://stackoverflow.com/a/10821976/5707364

+0

对不起。还有一个错误。我做的工作方式。谢谢你,对不起,浪费你的时间:) – MDP

+0

根据你的问题,你可以通过以下方式获得RL1中的TextView:和findViewById(R.id.id2).findViewById(R.id.textViewId); –

0
<LinearLayout> 

<RelativeLayout> 
    <include android:id="@+id/RL1" layout="@layout/game_area"/> 
</RelativeLayout> 


<RelativeLayout> 
    <include android:id="@+id/RL2" layout="@layout/game_area"/> 
</RelativeLayout> 

你shuold添加idinclude标签

+0

不好意思。还有一个错误。我做的工作方式。谢谢你,遗憾浪费你的时间:) – MDP