1

SimpleCursorAdapterデータベースへのクエリを管理し、結果をで表示するために使用していますListView

これが私のコードです:

database.open();
ListView listContent = (ListView)findViewById(android.R.id.list);
Cursor c = database.getData();
startManagingCursor(c);


String[] from = new String[]{Database._GROUP_NAME};
int[] to = new int[]{android.R.id.text1};

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, query, from, to);

listContent.setAdapter(adapter);

database.close();

一見、期待通りに動作しているように見えますが、あるのでこれが進むべき道ではないと思いますCursorAdapter

これは初心者の質問であることは知っていますが、Androidでプログラミングを始めたばかりなので、まだよくわかりません。

SimpleCursorAdapterこれを使用からに渡すにはどうすればよいCursorAdapterですか?すでにインターネットで検索しましたが、これを行う方法を理解できませんでした。

コードにいくつかの指示を求めるのではありません。

ありがとう

favolas

mainuコメントに続く更新

database.open();
ListView listContent = (ListView)findViewById(android.R.id.list);
Cursor c = database.getData();
MyAdapt cursorAdapter = new MyAdapt(this, query);


listContent.setAdapter(adapter);

database.close();

MyAdaptクラス:

public class MyAdapt extends CursorAdapter {

    private final LayoutInflater mInflater;

    public MyAdapt(Context context, Cursor c) {
        super(context, c);
        mInflater = LayoutInflater.from(context);
        mContext = context;
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {

        TextView groupName = (TextView) view.findViewById(android.R.id.text1);
        groupName.setText(cursor.getString(cursor
                .getColumnIndex(Database._GROUP_NAME)));
    }

    @Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {
        final View view = mInflater.inflate(
                android.R.layout.simple_list_item_1, parent, false);
        return view;
    }
}

これは正しい方法ですか?

favolas

4

1 に答える 1

2

SimpleCursorAdapter は、カスタム アダプターに使用できる最も単純な形式のアダプターです。カスタマイズが不要な場合は、SimpleCursorAdapter のみを使用してください。

于 2012-07-30T11:00:53.313 に答える