Вставка строки таблицы внутри строки таблицы

#android #android-tablelayout

#Android #android-tablelayout

Вопрос:

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

                 <TableLayout 
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:id="@ id/TableLAyout1"
                >
                    <TableRow 
                        android:layout_width="fill_parent"

                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                    >
                        <TableRow
                        android:layout_column="0"
                        android:layout_width="fill_parent"
                        android:background="@drawable/eventbar"
                         android:layout_height="wrap_content"
                         android:id="@ id/TableRow1" >
                        <TextView 
                            android:gravity="center_vertical"
                            android:layout_width="wrap_content"
                            android:text="Calendar for 14 August 2011"
                            android:layout_height="wrap_content"
                            android:textColor="@drawable/white"
                            android:layout_marginLeft="10dp"
                        />
                        </TableRow>
                        <TableRow 
                        android:layout_column="0"
                            android:layout_below="@ id/TableRow1"
                           android:layout_width="fill_parent"
                           android:background="@drawable/bgrow"
                           android:layout_height="wrap_content">
                                <ListView 
                                    android:layout_height="wrap_content"
                                    android:layout_width="fill_parent"
                                    android:id="@ id/ListView2" >
                                </ListView>
                        </TableRow>
                    </TableRow>

                </TableLayout>
  

Кто-нибудь может мне помочь, как это сделать?

Ответ №1:

Я думаю, вы неправильно поняли, как TableLayout это работает. Если вы прочитаете в руководстве, вы увидите, что TableLayout работает аналогично таблицам HTML, что означает, что TableRow на самом деле определяет строку, а не столбец, и даже не предназначен для выполнения других действий. Столбцы создаются автоматически на основе представлений, которые вы добавляете в строки.

Таким образом, если вы хотите иметь две строки по две TextViews в каждой, вы просто добавляете два TableRow s к своему TableLayout и вставляете два TextView s в каждую из них.

Ответ №2:

Я думаю, что вам нужно сделать, это иметь TableLayout внутри основной строки таблицы, а во внутреннем tablelayout у вас может быть 2 строки и событие onclick в main tablerow. Даже я пытаюсь сделать что-то подобное, обновлюсь, если это сработает.