0

抱歉,如果我在这里问简单的 Q,但我不知道该怎么做。我想根据查询在 textview 中显示来自 SQLite 数据库的数据。我已经尝试了一些示例,但我不知道为什么没有出现 te 数据。我尝试来自http://www.vogella.com/articles/AndroidSQLite/article.html的示例以及如何从数据库中获取值并将其显示在 android 的文本视图中。som1 能告诉我有什么问题吗?这是我查询数据的代码。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);

            }
4

2 回答 2

0

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

setContentView(R.layout.activity_crespro);

在为活动设置 ContentView 之前,您正在尝试访问视图(如示例中的显示和点 TextView)。

于 2013-01-09T02:59:47.583 回答
0

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

活动文件

于 2013-01-09T03:03:05.887 回答