Witam wszystkich,
Posiadam pewną bazę danych, którą chciałbym zaprezentować użytkownikowi. Posiada ona 3 kolumny: id, nazwa, kod.
Próbuję napisać Activity, które wyświetli mi wyżej wspomnianą bazę danych w formie tabeli.
Pomyślałem, by użyć TableLayout
, problem jednak pojawia się w dynamicznym dodawaniu do niego kolejnych kontrolek.
Poniżej wklejam kod layoutu oraz to co udało mi się "stworzyć" w klasie.
Efekt jest taki, a w zasadzie go brak - nie wyświetla mi nic.
<?xml version="1.0" encoding="utf-8"?>
<TableLayout 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:id="@+id/tableLayout"
tools:context=".Show_AllData">
</TableLayout>
public class Show_AllData extends AppCompatActivity {
private Cursor allData;
private DatabaseHelper databaseHelper;
private TableRow[] rows;
private TextView[] textViews;
private TableLayout tableLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
tableLayout = findViewById(R.id.tableLayout);
databaseHelper = new DatabaseHelper(this);
allData = databaseHelper.getAllData();
allData.moveToFirst();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_all_data);
rows = new TableRow[allData.getCount()];
textViews = new TextView[allData.getCount()];
do {
String id = allData.getString(allData.getColumnIndex("product_id"));
String eancode = allData.getString(allData.getColumnIndex("product_eancode"));
String name = allData.getString(allData.getColumnIndex("product_name"));
textViews[allData.getPosition()] = new TextView(this);
textViews[allData.getPosition()].setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,
TableLayout.LayoutParams.WRAP_CONTENT));
rows[allData.getPosition()] = new TableRow(this);
textViews[allData.getPosition()].setText(id + "\t" + eancode + "\t" + name);
rows[allData.getPosition()].addView(textViews[allData.getPosition()]);
this.tableLayout.addView(rows[allData.getPosition()]);
} while(allData.moveToNext());
}
}
Prosiłbym o wskazówkę lub jakąś pomoc, jak rozwiązać ten problem.
Pozdrawiam i z góry dziękuję :)