0

以下の要件を達成する方法を知っている人はいますか?

データベースが照会されると、返されるレコードは 1 つだけです。このレコードは、ListView のいくつかのリスト アイテム (たとえば 5 つのエントリ) を設定するために使用されます。

レコードが 1 つしかないため、2 番目から 5 番目までのエントリを入力するのに苦労しています。

public class TestCursorAdapter extends CursorAdapter {
    List list = new ArrayList();

    public TestCursorAdapter (Context context, Cursor c, boolean autoRequery) {
        super(context, c, autoRequery);
            list.add("Test 1");
            list.add("Test 2");
            list.add("Test 3");
            list.add("Test 4");
            list.add("Test 5");
    }

    public View newView(Context context, Cursor cursor, ViewGroup parent) {
           // cursor will only return one record, but it needs to populate five records (list size is 5)
    }         

    public void bindView(View view, Context context, Cursor cursor) {
           // cursor will only return one record, but it needs to populate five records (list size is 5)
    }

    public int getCount() {
        return list.size();
    }

    public int getViewTypeCount() {
            return 5;
    }
}

CursorLoaderデータベースからデータを照会するために使用しています。

ありがとう

4

1 に答える 1

0

CursorAdapterCursorsは、1 行につき 1 行の特定の形式にのみ適していListViewます。BaseAdapterバッキング データが一意の独自のカスタム拡張機能を作成することをお勧めしますCursor。次に、 の各位置のデータを取得する方法を正確に指定できますgetView()

于 2011-11-26T14:32:09.000 に答える