1

こんにちは、RelativeLayoutで問題が発生しました。画面上部のXMLコードでタイトルバーを定義し、左側のこのバーの下にtextview要素を追加するという考え方ですが、このTextViewをJavaコードに追加すると、常にの左上隅に表示されます。ディスプレイ(タイトルバーの上に設定されていることを意味します)。誰かが私が間違っていることを知っていますか?

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


<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/main">

    <Button 
        android:id="@+id/title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
     </RelativeLayout>
</ScrollView>



         RelativeLayout rl = (RelativeLayout) this.findViewById(R.id.main);

        for (int i=0; i<=5; i++) {

        TextView tv = new TextView(this);

        tv.setId(i);

        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT );

        if (i == 0)
            params.addRule(RelativeLayout.BELOW, R.id.title);
        else 
            params.addRule(RelativeLayout.BELOW, i-1);

        rl.addView(tv, params);
    }
4

1 に答える 1

0

参照する必要はありませんが、テキストビューにもIDを追加する必要があると思います。また、1回の呼び出しでAddViewとパラメーターを設定できます。

tv.setId(123);
params.addRule(RelativeLayout.BELOW, R.id.title);
rl.addView(tv, params);
于 2012-09-06T22:04:24.303 に答える