BaseAdapterを拡張するクラスでカーソルを使用しました。
class NewDefinedAdapter extends BaseAdapter {
private Cursor cursorTitle;
private TextView title;
private LayoutInflater mInflater;
private LinearLayout layout;
public NewDefinedAdapter(Context text, Cursor cursor) {
cursorTitle = cursor;
mInflater = LayoutInflater.from(text);
}
public int getCount() {
return cursorTitle.getCount();
}
public Object getItem(int arg0) {
return arg0;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
layout = (LinearLayout) mInflater.inflate(R.layout.title_list, null);
title = (TextView) layout.findViewById(R.id.title);
title.setText(cursorTitle.getString(0));
return layout;
}
}
そして、私はこのクラスを次のように呼びます。
cursor.moveToFirst();
view.setAdapter(new NewDefinedAdapter(this, cursor));
cursor.getCount()= 10ですが、最終的には10個の同じ結果が得られます。cursor.MoveToNext()を追加した後、プログラムは例外を実行します。
layout = (LinearLayout) mInflater.inflate(R.layout.title_list, null);
title = (TextView) layout.findViewById(R.id.title);
title.setText(cursorTitle.getString(0));
cursorTitle.moveToNext();
return layout;
例外情報:
04-07 14:27:28.565: D/AndroidRuntime(26155): Shutting down VM
04-07 14:27:28.565: W/dalvikvm(26155): threadid=1: thread exiting with uncaught exception (group=0x40015560)
04-07 14:27:28.575: E/AndroidRuntime(26155): FATAL EXCEPTION: main
04-07 14:27:28.575: E/AndroidRuntime(26155): android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 10
04-07 14:27:28.575: E/AndroidRuntime(26155): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
だから、私はカーソルですべての値を取得する必要があります、ありがとう。