Строки заказа в TableLayout - PullRequest
       18

Строки заказа в TableLayout

1 голос
/ 11 марта 2011

У меня есть TableLayout в моем xml.

<TableLayout android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:id="@+id/jobs_table"
             android:gravity="top"
             android:stretchColumns="*"
             android:shrinkColumns="*"/>
    <TableRow android:layout_width="fill_parent"
              android:layout_height="wrap_content">
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/monday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/tuesday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/wednesday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/thursday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/friday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/saturday"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:text="@string/sunday"/>
    </TableRow>

Затем я добавляю строки с кнопками в Activity.

   @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.jobs);
        tableLayout = (TableLayout) findViewById(R.id.jobs_table);
        // Make some buttons here.
        TableRow row = new TableRow(this);
        tableLayout.addView(row, new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));

Когда я запускаю приложение, строки с TextViews из XML находятся внизу, а кнопки из кода Java - вверху. Как я могу изменить их (кнопки находятся на кнопке, а строка с TextViews вверху)?

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Я думаю эта версия addView делает то, что вам нужно (с индексом = 0)

public void addView (View child, int index )

Добавляет дочерний вид.Если никакие параметры макета для дочернего элемента уже не заданы, параметры этого ViewGroup по умолчанию устанавливаются для дочернего элемента.Параметры

дочерний вид для добавления

индексируют позицию, в которой нужно добавить дочерний элемент

0 голосов
/ 16 марта 2011

Итак, я сделал это так:

TextView[] days = new TextView[7];
for(int i = 0; i < 7; i++) {
    days[i] = new TextView(context);
    days[i].setGravity(Gravity.CENTER);
    row.addView(days[i]);
}
days[0].setText(R.string.monday);
days[1].setText(R.string.tuesday);
days[2].setText(R.string.wednesday);
days[3].setText(R.string.thursday);
days[4].setText(R.string.friday);
days[5].setText(R.string.saturday);
days[6].setText(R.string.sunday);
rowsWithButtons.add(row);
...