这个问题似乎已经被问了十几次我已经无法从他们那里推断出解决方案了。
我有一个名为tile.xml
的布局,如下所示:
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="10dp"
android:text="May Fong Robinson"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="10dp"
android:text="Beautiful star-shaped spillway, Kechut Reservoir, Jermuk, Armenia"
android:textAppearance="?android:attr/textAppearanceMedium" />
我需要添加我的一个名为feed.xml
的视图,我已将其声明为ScrollView
,因为我想在其中包含多个对象,因此我可以垂直滚动它们。这是我的feed.xml
文件:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:background="#F1F1F1"
android:layout_height="fill_parent" >
</ScrollView>
我想动态地将我的“图块”从tile.xml
添加到我的“Feed”feed.xml
视图,同时动态更改TextViews
的文字。
我该怎么做?感谢
新的feed.xml
:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#F1F1F1" >
<LinearLayout
android:id="@+id/tiles"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</LinearLayout>
</ScrollView>
...和新的tile.xml
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="#FFFFFF"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="10dp"
android:text="May Fong Robinson"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textStyle="bold" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="10dp"
android:text="Beautiful star-shaped spillway, Kechut Reservoir, Jermuk, Armenia"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
答案 0 :(得分:4)
首先,在布局中添加2个TextView。
然后,在您希望动态添加TextView的代码中,执行以下操作:
ScrollView scroll = (ScrollView) findViewById(R.id.scrollView1);
LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.tile, null);
scroll.addView(view);
要访问TextView,您必须执行以下操作:
TextView textView1 = (TextView) view.findViewById(R.id.textView1);
textView1.setText("");
还要确保在XML文件中为TextView提供不同的ID。目前它们都是textView1
答案 1 :(得分:1)
ScrollView只能有1个子节点,这意味着“tile”布局的当前结构无法添加到ScrollView中。 你需要的是添加另一个布局,让我们说你的ScrollView上的LinearLayout,这样它就是ScrollView唯一的直接子节点。对于此LinearLayout,您可以根据需要添加任意数量的子项。 这可以通过使用您在许多示例中可能遇到的LayoutInflater来完成。
答案 2 :(得分:0)
CatProvider