Моя долгосрочная цель - создать интерактивную таблицу в приложении для Android, которая выполняется динамически из списка объектов класса. Моя краткосрочная цель - выяснить, как вообще получить таблицу. Прямо сейчас я определил представление TableLayout внутри проекта и пытаюсь его динамически/программно заполнить.Невозможно отобразить таблицу в Android
Код:
XML файла:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.nick.timelogger.itemTable"
android:background="#ffffffff">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:id="@+id/itemTable">
</TableLayout>
</RelativeLayout>
Класс - OnCreate метод (сейчас я просто пытаюсь добавить одну строку, чтобы получить его отображение на мое приложение):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_item_table);
RelativeLayout.LayoutParams tableParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
TableRow.LayoutParams rowParams = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);
TableLayout itemTable = (TableLayout)findViewById(R.id.itemTable);
itemTable.setLayoutParams(tableParams);
TableRow header = new TableRow(getApplicationContext());
header.setLayoutParams(tableParams);
TextView itemName = new TextView(getApplicationContext());
itemName.setText("Activity Name");
itemName.setTextColor(Color.BLACK);
itemName.setTextSize(16f);
itemName.setTypeface(Typeface.DEFAULT);
TextView status = new TextView(getApplicationContext());
status.setText("Status");
status.setTextColor(Color.BLACK);
status.setTextSize(16f);
status.setTypeface(Typeface.DEFAULT);;
TextView elapsed = new TextView(getApplicationContext());
elapsed.setText("Elapsed Time");
elapsed.setTextColor(Color.BLACK);
elapsed.setTextSize(16f);
elapsed.setTypeface(Typeface.DEFAULT);
header.addView(itemName,(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT)));
header.addView(status,(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT)));
header.addView(elapsed,(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT)));
itemTable.addView(header);
}
Что мне не хватает?