0

ここで単純な Q を尋ねている場合は申し訳ありませんが、それを行う方法がわかりません。クエリに基づいてSQLiteデータベースのデータをテキストビューで表示したい。私はすでにいくつかの例を試していますが、データが表示されない理由がわかりません。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を設定する前に、ビューのs(例のshowやpoints TextViewなど)にアクセスしようとしています。

于 2013-01-09T02:59:47.583 に答える
0

エリックがコメントで指摘したようにsetContentView(...)、そのレイアウトのビュー(TextViews、EditTexts、Buttonsなど)にアクセスする前に使用する必要があります。これは、これらのビューがレイアウトに存在するため、電話をかけるまでアクティビティが実際にそれらについて認識しないためですsetContentView()。次のリンクは、将来非常に役立ちます。

アクティビティドキュメント

于 2013-01-09T03:03:05.887 に答える