0

ListView に配列の項目を入力しようとしていますが、明らかにすべて正常に動作しますが、アプリを実行すると ListView は空です...しかし、そうではありません。問題は、実際には空ではなく、アイテムが見えないことです...そして、それらをクリックしたときにのみ表示されます。

これが私のコードです:

    SQLite data = new SQLite(getApplicationContext());
    db = data.getReadableDatabase();

    String query = "SELECT question, corrOp, inc1, inc2, inc3 FROM questions WHERE idCat = '" + bundle.getInt("CAT") + "' ORDER BY RANDOM() LIMIT 5";

    c = db.rawQuery(query,null);
    startManagingCursor(c);

    c.moveToFirst();

    for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
        Pregunta aux = new Pregunta();
        aux.initValues(c.getString(0), c.getString(1), c.getString(2), c.getString(3), c.getString(4));

        p.add(aux);
    }       

    lbl.setText(p.get(0).getQuestion());

    ArrayList<String> r = new ArrayList<String>();
    r.add(p.get(0).getCorrect());
    r.add(p.get(0).getIncorrect1());
    r.add(p.get(0).getIncorrect2());
    r.add(p.get(0).getIncorrect3());

    Collections.shuffle(r);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, r);
    lst.setAdapter(adapter);

そして、ListView を参照するアクティビティの xml ファイルの「コード」ブロック:

<ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="25dp" 
    android:layout_marginBottom="25dp"
    android:layout_marginLeft="25dp"
    android:layout_marginRight="25dp" >
</ListView>

何か案が??

ありがとう!!:)

4

1 に答える 1

1

問題の可能性がある Application Context を使用しています。アプリケーション コンテキストの代わりにアクティビティ コンテキストを使用する必要があります。

listView アイテムの背景がテキストの色と同じである可能性があります。listView の背景を変更します。

于 2013-05-01T07:54:30.713 に答える