Создание TableView с фиксированной строкой заголовка (не прокручивается)

У меня есть TableView с именем aTable. initialiseDTable () добавляет первую строку с КРАСНЫМ фоном

ЦЕЛЬ

  1. Предотвращение прокрутки строки заголовка ( WORKING FINE )

  2. Сохраняйте ширину строки заголовка для каждого TextView, что дает ощущение, что это дочерний элемент таблицы ( НЕ РАБОТАЕТ )

ATTEMP

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

КОД ДЛЯ ДОБАВЛЕНИЯ СТРОКИ ЗАГОЛОВКИ В ТАБЛИЦУ

    public void initialiseDTable() {
    LayoutInflater inflater = getLayoutInflater();
    TableRow row = (TableRow) inflater.inflate(R.layout.table_row, dTable,
            false);
    View v = (View) inflater.inflate(R.layout.table_cell, row, false);
    TextView A = (TextView) v.findViewById(R.id.table_cell_text);
    A.setText(tag1);
    row.addView(v);
    v = (View) inflater.inflate(R.layout.table_cell, row, false);
    A = (TextView) v.findViewById(R.id.table_cell_text);
    A.setText(tag2);
    row.addView(v);
    v = (View) inflater.inflate(R.layout.table_cell, row, false);
    A = (TextView) v.findViewById(R.id.table_cell_text);
    A.setText(tag3);
    row.addView(v);
    v = (View) inflater.inflate(R.layout.table_cell, row, false);
    A = (TextView) v.findViewById(R.id.table_cell_text);
    A.setText(tag4);
    row.addView(v);
    if (this.showEST) {
        v = (View) inflater.inflate(R.layout.table_cell, row, false);
        A = (TextView) v.findViewById(R.id.table_cell_text);
        A.setBackgroundColor(Color.RED);
        A.setText(tag5);
        row.addView(v);
    }
    dTable.addView(row);
}

КОД

public void updateATable() {
    aTable.removeAllViews();
    initialiseATable();
    for (int i = 0; i < newA.size(); i++)
        aTable.addView(newA.get(i)); //newA is an ArrayList <TableRow>
    View view = aTable.getChildAt(0);
    aTable.removeViewAt(0);
    aTableH.removeAllViews();
    aTableH.addView(view,new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
}

XML

        <LinearLayout android:orientation="vertical"
            android:layout_width="fill_parent" android:layout_height="fill_parent"
            android:gravity="center" android:id="@+id/aLL">
            <TableLayout android:shrinkColumns="5"
                android:stretchColumns="1,2,3,4" android:layout_height="wrap_content"
                android:layout_width="wrap_content" android:id="@+id/aTableH">
            </TableLayout>
            <ScrollView android:layout_width="fill_parent"
                android:layout_height="wrap_content" android:id="@+id/aTableSV">
                <TableLayout android:shrinkColumns="5"
                    android:stretchColumns="1,2,3,4" android:layout_height="fill_parent"
                    android:layout_width="fill_parent" android:id="@+id/aTable">
                </TableLayout>
            </ScrollView>
        </LinearLayout>
6
задан Sherif elKhatib 27 July 2011 в 11:57
поделиться