我目前正在使用数据库中的信息填充布局中的数据。我知道列表视图,但它似乎不符合我的目的。我需要将查询放入布局的特定区域。由于我的所有信息都在数据库的同一列下,因此列表会为每个项创建一个单独的行。我目前的流程需要很多代码......
public void fillData(){
Cursor note = null;
note = mDbHelper.fetchItem(SaveSlot,"91");
startManagingCursor(note);
info_1.setText(note.getString(
note.getColumnIndexOrThrow((DbAdapter.VALUE1))));
note = mDbHelper.fetchItem(SaveSlot,"93");
startManagingCursor(note);
info_2.setText(note.getString(
note.getColumnIndexOrThrow((DbAdapter.VALUE1))));
note = mDbHelper.fetchItem(SaveSlot,"100");
startManagingCursor(note);
info_3.setText(note.getString(
note.getColumnIndexOrThrow((DbAdapter.VALUE1))));
}
我的目标是填充类似于平视显示器的布局。
有没有办法更有效地做到这一点?我已经尝试创建一个包含所有项目编号和textview名称的数组,但无法弄清楚如何让它工作。无法设置数组的文本。它就像是......
public void fillData(){
Cursor note = null;
for(int x =0; x<info.length;x++){
note = mDbHelper.fetchItem(SaveSlot,item[x]);
startManagingCursor(note);
info[x].setText(note.getString(
note.getColumnIndexOrThrow((DbAdapter.VALUE1))));
}
有什么想法吗?
编辑:
我的目标是每个列表视图行有多个数据库查询
答案 0 :(得分:0)
我不是百分之百确定你在这里寻找什么,但根据我的理解,试试这个:
使用
View.inflate(context, resourceId, null)
然后将结果转换为resourceId中引用的布局。
示例:
(TextView)text = View.inflate(getApplicationContext(), R.layout.MyTextView, null);
linearLayout.addView(text);
然后,将此行为绑定到迭代数据库查询的结果集。 然后,您将根据数据库中的查询结果构建视图。