如何制作一个表格来显示来自SQLite数据库的记录?

时间:2018-11-09 15:10:18

标签: java android android-sqlite

我有一个简单的问题。我正在尝试创建一种布局,该布局将在单独的单元格中显示来自SQLite数据库的记录。我试图使用TextViews使其实现,但这不是我期望的。您知道创建带有标题等的“ excel like”表的想法吗?更重要的是,我需要每一行都能够选择和打开(我的目标是在产品目录中添加类似内容)。

final TextView dTable= (TextView) findViewById(R.id.displayTable);
final ManageDatabase md = new ManageDatabase(this);
 dTable.setText("");
    for(Product p: md.takeAllProducts()){

        dTable.setText(dTable.getText()+"\n"+" "+p.getProductCode()+" "+p.getProductName()+" "+p.getQuantity()+" "+p.getExpireDate());
    }

1 个答案:

答案 0 :(得分:0)

您可以使用TableLayout并在其中动态添加内容。

首先从XML文件获取表布局的参考。

TableLayout myTable = (TableLayout) findViewById(R.id.mTable);

然后您可以像下面那样将检索到的数据动态添加到表中

 for(Product p: md.takeAllProducts()){
         //create new row
         TableRow tableRow =  new TableRow(this);

         // create new text view
         TextView textView1 = new TextView(this);
         textView1.setText(p.getProductCode());
         //add to row
         tableRow.addView(textView1);

         //create another text view and add to same row
         TextView textView2 = new TextView(this);
         textView2.setText(p.getProductName());
         tableRow.addView(textView2);

         //
         TextView textView3 = new TextView(this);
         textView3.setText(p.getQuantity());
         tableRow.addView(textView3);

         //
         TextView textView4 = new TextView(this);
         textView4.setText(p.getExpireDate());
         tableRow.addView(textView4);
}