Я пытаюсь отображать данные из встроенной базы данных SQLite в таблице в пользовательском интерфейсе Android, но он не работает должным образом. Вот что у меня есть:Нужна помощь, чтобы мой Android TableLayout работал правильно
activity_main.xml
<TableLayout
android:id="@+id/data_table"
android:stretchColumns="3"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow>
<TextView android:layout_column="1" android:text="id" android:layout_width="0dp" android:layout_weight="1" />
<TextView android:layout_column="2" android:text="firstname" android:layout_width="0dp" android:layout_weight="1" />
<TextView android:layout_column="3" android:text="lastname" android:layout_width="0dp" android:layout_weight="1" />
</TableRow>
</TableLayout>
MainActivity.java
List<People> listOfPeople = databaseHelper.getAllPeople();
TableLayout myTableLayout = (TableLayout) findViewById(R.id.data_table);
for(People person : listOfPeople){
TableRow newTableRow = new TableRow(this);
TableRow.LayoutParams rowParams = new TableRow.LayoutParams();
newTableRow.setLayoutParams(rowParams);
TextView idTV = new TextView(this);
idTV.setLayoutParams(new TableRow.LayoutParams(1));
idTV.setText(person.getId());
TextView firstnameTV = new TextView(this);
firstnameTV.setLayoutParams(new TableRow.LayoutParams(2));
firstnameTV.setText(person.getFirstname());
TextView lastnameTV = new TextView(this);
lastnameTV.setLayoutParams(new TableRow.LayoutParams(3));
lastnameTV.setText(person.getLastname());
newTableRow.addView(idTV);
newTableRow.addView(firstnameTV);
newTableRow.addView(lastnameTV);
myTableLayout.addView(newTableRow);
}
отображается таблица и данные, но данные в строках, которые я построил из база данных все смотается вместе и нечитабельно. Если бы я сопоставлял это с веб-разработкой, похоже, что все данные находятся в одной ячейке строки таблицы.
Я очень новичок в разработке Android (бывший разработчик JSP), и то, что у меня есть здесь, я попытался объединить результаты поиска Google. Мне нужно использовать TableLayout, поэтому макет сетки (или любой другой макет) не будет работать.
EDIT:
я добавил цвета фона мои «клетки» и обнаружил, что они находятся в разных клетках. Проблема, по-видимому, в том, что они не распространяются правильно, так как я не уверен, как добавить «layout_width» и «layout_weight» в ячейки Java. По крайней мере, я думаю, это и есть проблема.
Пожалуйста, разместите изображение, что вы хотите, чтобы оно выглядело. Вероятно, вы захотите использовать [RecyclerView] (http://developer.android.com/reference/android/support/v7/widget/RecyclerView.html) здесь. – Naveed
Я хочу, чтобы он выглядел как таблица данных (Excel, HTML и т. Д.). Столбцы с заголовками, затем строки под соответствующими данными. – Brian