访问Java文件中的Android视图

时间:2015-06-07 13:34:00

标签: android relativelayout

我设计了RelativeLayout个子元素,例如TextViewImageView。我想要做的是用我在XML中创建的RelativeLayout创建一个RelativeLayout对象,这样我就可以访问其子元素并修改它们(从ImageView更改图像并更改来自TextView的文字。我怎样才能做到这一点?这有点像这样。

RelativeLayout lay = new "myrelativelayout";
ImageView img = lay.children[0];
TextView txt = lay.children[1];

谢谢!

2 个答案:

答案 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