我设计了RelativeLayout
个子元素,例如TextView
和ImageView
。我想要做的是用我在XML中创建的RelativeLayout
创建一个RelativeLayout
对象,这样我就可以访问其子元素并修改它们(从ImageView
更改图像并更改来自TextView
的文字。我怎样才能做到这一点?这有点像这样。
RelativeLayout lay = new "myrelativelayout";
ImageView img = lay.children[0];
TextView txt = lay.children[1];
谢谢!
答案 0 :(得分:1)
XML:
<RelativeLayout
android:id="@+id/relative_layout_id"
...>
<TextView
android:id="@+id/textview_id"
.../>
</RelativeLayout>
活动onCreate:
RelativeLayout lay = (RelativeLayout) findViewById(R.id.relative_layout_id);
要改变孩子的使用:
TextView child = (TextView) findViewById(R.id.textview_id);
child.setText(text);
或:
View child = lay.getChildAt(i);
答案 1 :(得分:0)
要访问布局,我们使用findViewById
方法。因此,要更改ImageView
中的图片,您实际上并不需要访问RelativeLayout
。
我们通过id访问任何元素的方式如下:
View v = (View)findViewById(R.id.view_id);
其中view_id
是视图的ID。
要访问RelativeLayout
,因此,这段代码将是:
RelativeLayout lay = (RelativeLayout) findViewById(R.id.relative_layout_id);
但是如果你只想更改TextView
中的文字,你真的不需要上面的代码。如果您对TextView
TextView textView = (TextView) findViewById(R.id.id_of_textview);
textView.setText(text);
可以找到访问任何资源的一般方法here。