カーソルデータを使用してリスト配列(スクロール時にリストに最初のアルファベットが表示される)を作成するにはどうすればよいですか?
69281 次
5 に答える
41
簡単な修正: 上記の for ループは、カーソルの最初の要素をスキップします。最初の要素を含めるには、これを使用します。
ArrayList<String> mArrayList = new ArrayList<String>();
mCursor.moveToFirst();
while(!mCursor.isAfterLast()) {
mArrayList.add(mCursor.getString(mCursor.getColumnIndex(dbAdapter.KEY_NAME))); //add the item
mCursor.moveToNext();
}
于 2011-07-20T20:23:04.793 に答える
23
@imbriziの答えよりもさらに優れているのはこれです:
ArrayList<String> mArrayList = new ArrayList<String>();
while(mCursor.moveToNext()) {
mArrayList.add(mCursor.getString(mCursor.getColumnIndex(dbAdapter.KEY_NAME))); //add the item
}
moveToNext()
何も残っていない場合は false を返すため、SLOC が少し減り、見やすくなります。
さらに良いのは、ループの外で列インデックスを取得することです。
ArrayList<String> mArrayList = new ArrayList<String>();
int columnIndex=mCursor.getColumnIndex(dbAdapter.KEY_NAME)
while(mCursor.moveToNext()) {
mArrayList.add(mCursor.getString(columnIndex)); //add the item
}
于 2014-01-20T03:19:30.697 に答える