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