안드로이드 개발 정보
(글 수 1,067)
왼손으로 글 써서 길게 못 씁니다.^^
옴니아2에서 음악목록을 스크롤 할 때,
A 로 시작...
가 로 시작...
되는 곳으로 바로 스크롤아 되더군요.
안드로이드에는 기본으로 제공 하더군요.
SectionIndexer 과 AlphabetIndexer 인데요.
Music에서 이 기능을 사용하더군요.
class MusicAlphabetIndexer extends AlphabetIndexer {
public MusicAlphabetIndexer(Cursor cursor, int sortedColumnIndex, CharSequence alphabet) {
super(cursor, sortedColumnIndex, alphabet);
}
@Override
protected int compare(String word, String letter) {
String wordKey = MediaStore.Audio.keyFor(word);
String letterKey = MediaStore.Audio.keyFor(letter);
if (wordKey.startsWith(letter)) {
return 0;
} else {
return wordKey.compareTo(letterKey);
}
}
}
이렇게 만들고요
static class AlbumListAdapter extends SimpleCursorAdapter implements SectionIndexer {
private AlphabetIndexer mIndexer;
.......... 중략..............
if (mIndexer != null) {
mIndexer.setCursor(cursor);
} else {
mIndexer = new MusicAlphabetIndexer(cursor, mAlbumIdx, mResources.getString(
R.string.fast_scroll_alphabet));
}
.......... 중략..............
public Object[] getSections() {
return mIndexer.getSections();
}
public int getPositionForSection(int section) {
return mIndexer.getPositionForSection(section);
}
public int getSectionForPosition(int position) {
return 0;
}
}
-----------------
<resources>
<string name="fast_scroll_alphabet">\u0020ABCDEFGHIJKLMNOPQRSTUVWXYZ가나다라마바사아자차카타파하</string>
</resources>
-----------------
이런 식으로 리스트를 만드면 첫글자 위치로 바로 이동이 가능 합니다.
^^
옴니아2에서 음악목록을 스크롤 할 때,
A 로 시작...
가 로 시작...
되는 곳으로 바로 스크롤아 되더군요.
안드로이드에는 기본으로 제공 하더군요.
SectionIndexer 과 AlphabetIndexer 인데요.
Music에서 이 기능을 사용하더군요.
class MusicAlphabetIndexer extends AlphabetIndexer {
public MusicAlphabetIndexer(Cursor cursor, int sortedColumnIndex, CharSequence alphabet) {
super(cursor, sortedColumnIndex, alphabet);
}
@Override
protected int compare(String word, String letter) {
String wordKey = MediaStore.Audio.keyFor(word);
String letterKey = MediaStore.Audio.keyFor(letter);
if (wordKey.startsWith(letter)) {
return 0;
} else {
return wordKey.compareTo(letterKey);
}
}
}
이렇게 만들고요
static class AlbumListAdapter extends SimpleCursorAdapter implements SectionIndexer {
private AlphabetIndexer mIndexer;
.......... 중략..............
if (mIndexer != null) {
mIndexer.setCursor(cursor);
} else {
mIndexer = new MusicAlphabetIndexer(cursor, mAlbumIdx, mResources.getString(
R.string.fast_scroll_alphabet));
}
.......... 중략..............
public Object[] getSections() {
return mIndexer.getSections();
}
public int getPositionForSection(int section) {
return mIndexer.getPositionForSection(section);
}
public int getSectionForPosition(int position) {
return 0;
}
}
-----------------
<resources>
<string name="fast_scroll_alphabet">\u0020ABCDEFGHIJKLMNOPQRSTUVWXYZ가나다라마바사아자차카타파하</string>
</resources>
-----------------
이런 식으로 리스트를 만드면 첫글자 위치로 바로 이동이 가능 합니다.
^^