在查询中基于textview显示数据库

时间:2013-01-09 02:21:18

标签: android sqlite textview

抱歉,如果我在这里问简单的Q,但我不知道这样做。我想根据查询在textview中显示来自SQLite数据库的数据。我已经尝试了一些例子,但我不知道为什么te数据不会出现。我尝试了http://www.vogella.com/articles/AndroidSQLite/article.htmlHow to fetch a value from the database and display it in a text view in android的示例。可以告诉我它有什么问题吗?这是我查询数据的代码。 TQ ..

RelativeLayout main=(RelativeLayout)findViewById(R.id.act);

    try
    {
        db = this.openOrCreateDatabase("todotable.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);

        Cursor c=db.rawQuery("SELECT category, name, description FROM " +
                todo + " where date = CURRENT_DATE", null);
        int column1=c.getColumnIndex("category");
        int column2=c.getColumnIndex("name");
        int column3=c.getColumnIndex("description");
        c.moveToFirst();
        if(c!=null)
        {   
            do
            {
                String category=c.getString(column1);
                String name =c.getString(column2);
                String description = c.getString(column3);
                //String category;
                //String description;
                data=data+category+" "+name+" "+description;
               // Data1=Data1+Score+"\n";
                System.out.println("cat "+category+" name "+name + " des "+description);
            }while(c.moveToNext());
            TextView tv=(TextView)findViewById(R.id.show);

            // TextView points=(TextView)findViewById(R.id.points);
            tv.setText(data);
            //points.setText(Data1);
            setContentView(R.layout.activity_crespro);

            }

2 个答案:

答案 0 :(得分:0)

在访问活动中的任何视图之前,应移动此段代码。

<强>的setContentView(R.layout.activity_crespro);

您正试图访问该视图&#39;在为活动设置ContentView之前(例如,在示例中显示和指向TextView)。

答案 1 :(得分:0)

正如Eric在评论中指出的那样,在尝试访问该布局中的任何视图(TextViews,EditTexts,Buttons等等)之前,您需要使用setContentView(...)。原因是这些视图存在于布局中,因此在您致电setContentView()之前,活动实际上并不知道这些视图。以下链接将对您有所帮助

Activity Docs