不使用列表填充数据

时间:2011-03-15 16:40:32

标签: java android sqlite listview

我目前正在使用数据库中的信息填充布局中的数据。我知道列表视图,但它似乎不符合我的目的。我需要将查询放入布局的特定区域。由于我的所有信息都在数据库的同一列下,因此列表会为每个项创建一个单独的行。我目前的流程需要很多代码......

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))));
}

有什么想法吗?

编辑:

我的目标是每个列表视图行有多个数据库查询

1 个答案:

答案 0 :(得分:0)

我不是百分之百确定你在这里寻找什么,但根据我的理解,试试这个:

使用

View.inflate(context, resourceId, null)

然后将结果转换为resourceId中引用的布局。

示例:

(TextView)text = View.inflate(getApplicationContext(), R.layout.MyTextView, null);
linearLayout.addView(text);

然后,将此行为绑定到迭代数据库查询的结果集。 然后,您将根据数据库中的查询结果构建视图。