在恢复xml布局时获取视图的id

时间:2013-04-30 07:58:29

标签: android android-layout

我的主布局中有一个按钮,onClick我正在重复使用另一个xml布局:

View view = layoutInflater.inflate(R.layout.single_elemnt,
                            createLayout, false);
createLayout.addView(view, position);
position++;

其中single_elemnt是每次点击add按钮(存在于主布局中)时将添加到当前主布局的布局。

single_elemnt有2个观看次数:textviewedittext。我每次点击tv = (TextView) findViewById(R.id.tv);时都会使用add

但问题是tv总是引用第一个textview ,即使我已将findViewById代码放在onClick上。

main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

        <!-- some other views -->

            <Button
                android:id="@+id/add"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:gravity="center"
                android:paddingTop="10dp"
                android:text="Add"
                android:textSize="20sp" />

</RelativeLayout>

活动中的onClick方法

 View view = layoutInflater.inflate(R.layout.single_elemnt,
                                createLayout, false);
    createLayout.addView(view, position);
    position++;
tv = (TextView)profile.findViewById(R.id.tv);
tv.setText("some text");

我在这里做错了吗?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

您需要在该特定视图中查找视图,如下所示:

View view = layoutInflater.inflate(R.layout.single_elemnt,
                                createLayout, false);
createLayout.addView(view, position);
tv = (TextView) view.findViewById(R.id.tv);
tv.setText("some text");

position++;