Хотите добавить текстовые просмотры в LinearLayout в существующий файл layout.xml - PullRequest
2 голосов
/ 02 августа 2011

Я не могу заставить это работать, надеясь получить некоторые подсказки, кажется, что из моего исследования код должен работать, любые мысли будут с благодарностью ...

У меня есть существующий макетXML-файл, который включает в себя:

<RelativeLayout style="@style/bodyLayout">
    <ScrollView 
        android:id="@+id/scrollBody"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="false"
    >
        <LinearLayout
            android:id="@+id/scrollLinearLayout"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
        >           

        </LinearLayout>
    </ScrollView>
</RelativeLayout>

Тогда у меня есть программный код следующим образом:

    LinearLayout ll = new LinearLayout(this);
    ll = (LinearLayout)findViewById(R.id.scrollLinearLayout);

    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

    TextView tv = new TextView(this);
    tv.setId(1);
    tv.setTextSize(R.dimen.text_size_medium);
    tv.setText("test");
    tv.setLayoutParams(lp);
    ll.addView(tv);

Новый TextView не появляется при отображении действия, я знаю, что отсутствуетчто-то очевидное ... новый TextView должен появиться в разделе LinearLayout ...

1 Ответ

2 голосов
/ 02 августа 2011

Я запустил ваш код работает отлично

LinearLayout ll = (LinearLayout)findViewById(R.id.subLinear);

    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);

    TextView tv = new TextView(this);
    tv.setId(1);
    tv.setTextSize(15);
    tv.setText("test adding");
    tv.setLayoutParams(lp);
    ll.addView(tv);

если вы добавляете новый вид (что-либо) из любого события нажатия кнопки, то добавьте эту строку

ll.invalidate();

обновит ваш компонент

...