从android中的数据库中检索数据

时间:2012-07-26 11:16:01

标签: android database

在我的应用程序中,我在listview中显示来自数据库的数据。在listview中,1特定的文本视图应该是动态的(即)基于特定textview应该更改的一个列值,

以下是我的完整数据库结构:

http://www.freeimagehosting.net/bmcrp
http://www.freeimagehosting.net/8f13z

。如果reccurence为“true”,则表示textview 9应显示其他总数。

我的代码如下:

Cursor c = db.getExpensetitle(intent.getStringExtra("grpsdbexp"));
            startManagingCursor(c);     


                    -------------------->Here i have to use the condition.
                  from = new String[] {db.KEY_DATE,db.KEY_DESC,db.KEY_INCOME,db.KEY_QUANTITY,db.KEY_TOTAL,db.KEY_ROWID};
                  to = new int[] {R.id.text1 ,R.id.text3,R.id.text5,R.id.text7,R.id.text9,R.id.text11};


            SimpleCursorAdapter notes =
                            new SimpleCursorAdapter(this, R.layout.columnviewexp, c, from, to);             
            lv.setAdapter(notes);   

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

由于存在条件,您应该自定义游标适配器而不是SimpleCursorAdapter。

https://codereview.stackexchange.com/questions/1057/android-custom-cursoradapter-design

 SimpleCursorAdapter notes =
                            new SimpleCursorAdapter(this, R.layout.columnviewexp, c, from, to)
{
      @Override
    public void bindView(View view, Context context, Cursor cursor) {

        boolean reurrence= cursor.getBoolean(cursor.getColumnIndex("recurrence"));

        TextView text9=(TextView)view.findViewById(R.id.text9);

        String text=null;
        if(recurrence)
            text=cursor.getString(cursor.getColumnIndex(KEY_TOTAL));
        else
            text=cursor.getString(cursor.getColumnIndex(KEY_REC_TOTAL));

         text9.setText(text);

        // Load remaining TextViews

    }
};