データベースからコンテンツを取得して、テーブル レイアウトに行を追加したい....以下のコードを試していますが、うまくいきません。データベース関連の作業用に「ProductDatabase」クラスを作成しました...そして別のアクティビティで以下のコードを使用しています...しかし、出力が表示されません
ProductDatabase pData; //Database Class
TableLayout mainTable;
Cursor cr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.display_product_database);
pData = new ProductDatabase(this);
mainTable = (TableLayout) findViewById(R.id.mainTable);
}
@SuppressWarnings("deprecation")
@Override
protected void onResume() {
super.onResume();
pData.open();
cr=pData.getDatabaseCursor(); //fetching cursor from Database Class
int index=1;
for (cr.moveToFirst(); !cr.isAfterLast(); cr.moveToNext()) {
TableRow tr=new TableRow(this);
tr.setId(1000+index);
tr.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
TextView labelName=new TextView(this);
labelName.setId(2000+index);
labelName.setText(cr.getString(cr.getColumnIndex(ProductDatabase.KEY_NAME)));
labelName.setTextColor(Color.BLACK);
labelName.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
tr.addView(labelName);
TextView labelBarcode=new TextView(this);
labelBarcode.setId(3000+index);
labelBarcode.setText(cr.getString(cr.getColumnIndex(ProductDatabase.KEY_BARCODE)));
labelBarcode.setTextColor(Color.BLUE);
labelBarcode.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
tr.addView(labelBarcode);
TextView labelCost=new TextView(this);
labelCost.setId(4000+index);
labelCost.setText(cr.getString(cr.getColumnIndex(ProductDatabase.KEY_COST)));
labelCost.setTextColor(Color.BLUE);
labelCost.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
tr.addView(labelCost);
mainTable.addView(tr, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
index++;
}
pData.close();
}
}