Добавление полосы прокрутки к динамическому табличному представлению в относительной компоновке

Я создал динамический макет таблицы динамически в Relative-Layout. Я добавляю текстовые представления динамически. У меня есть 9 полей для отображения. Как я могу поставить горизонтальную и вертикальную полосу прокрутки в нем?

Код:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_view);
        // Show the Up button in the action bar.
        setupActionBar();

        TableLayout tableLayout = new TableLayout(getApplicationContext());
        TableRow tableRow;
            TextView textView;


           ............................
           ............................
           ............................
           for (int i = 0; i < rows; i++) 
            {                               //4 rows
            tableRow = new TableRow(getApplicationContext());

            for (int j = 0; j < columns; j++) 
            {                           //3 columns
                textView = new TextView(getApplicationContext());

                textView.setText(temp[k++]);
                textView.setPadding(15, 15, 15, 15);
                tableRow.addView(textView);

            }

            tableLayout.addView(tableRow);
        }

             setContentView(scrollView);
        setContentView(tableLayout);

2 ответа

Создайте свой файл layout.xml следующим образом

<RelativeLayout xmlns:ads="http://schemas.android.com/apk/res/com.smartcloud.podcast_he"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/bg_iphone" >
        <ScrollView
            android:id="@+id/ScrollView03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/headingtitle2" >

        </ScrollView>
 </RelativeLayout>

А потом в коде

setContentView(R.layout.activity_view);
        // Show the Up button in the action bar.
setupActionBar();

ScrollView scrollview = (ScrollView) findViewById(R.id.ScrollView03);

TableLayout tableLayout = new TableLayout(getApplicationContext());
    TableRow tableRow;
        TextView textView;


       ............................
       ............................
       ............................
       for (int i = 0; i < rows; i++) 
        {                               //4 rows
        tableRow = new TableRow(getApplicationContext());

        for (int j = 0; j < columns; j++) 
        {                           //3 columns
            textView = new TextView(getApplicationContext());

            textView.setText(temp[k++]);
            textView.setPadding(15, 15, 15, 15);
            tableRow.addView(textView);

        }

        tableLayout.addView(tableRow);
    }
scrollview.addView(tableLayout );

Удалить это 2 строки

    setContentView(scrollView);
    setContentView(tableLayout);

Сделайте ваш макет верхнего уровня ScrollView

scrollView.addView(tableLayout);
setContentView(scrollView);
Другие вопросы по тегам