4

この質問はすでに十数回聞かれているようですが、私はそれらから解決策を推測することができませんでした。

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" />

複数のオブジェクトを入れて垂直方向にスクロールできるようにしたいので、このビューの1つを追加する必要があり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.xmlTextViews

これどうやってするの?ありがとう


新しい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>
4

3 に答える 3

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

TextViewsにアクセスするには、次のことを行う必要があります。

TextView textView1 = (TextView) view.findViewById(R.id.textView1);
textView1.setText("");

また、XMLファイルでTextViewに異なるIDを指定してください。現在、両方ともtextView1です

于 2012-08-14T18:41:16.997 に答える
1

ScrollViewは子を1つしか持つことができません。つまり、「タイル」レイアウトの現在の構造をScrollViewに追加することはできません。必要なのは、別のレイアウト、たとえばLinearLayoutをScrollViewに追加して、ScrollViewの唯一の直接の子になるようにすることです。このLinearLayoutに、必要な数の子を追加できます。これは、多くの例でおそらく遭遇したLayoutInflaterを使用して実行できます。

于 2012-08-14T18:41:34.753 に答える
0
**TRY THIS**
<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" >

   <include layout="@layout/tile" />

</LinearLayout>

于 2016-04-09T02:46:07.540 に答える