我一直在关注教程,并提出了一种在我的设备上查看音乐的方法。
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
String[] proj = { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String sortOrder = MediaStore.Audio.Media.DISPLAY_NAME + " ASC";
musiccursor = getContentResolver().query(uri,proj, selection, null, sortOrder);
inputSearch = (EditText) findViewById(R.id.inputSearch);
musiclist = (ListView)findViewById(R.id.listPage2);
musiclist.setAdapter(new MusicListAssignPage2.MusicAdapter(getApplicationContext()));
我现在希望能够有一个EditText,我可以搜索音乐,这样我就能更快地找到它。我遵循了本教程:http://www.androidhive.info/2012/09/android-adding-search-functionality-to-listview/但我完全迷失了如何将其应用到我当前的应用程序。
adapter = new ArrayAdapter<String>(this, R.layout.activity_music_list_assign_page2, R.id.inputSearch, proj);
musiclist.setAdapter(adapter);
/**
* Enabling Search Filter
* */
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
MusicListAssignPage2.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
我已经尝试过上面这段代码,但之后我的应用程序运行了但是没有显示我设备中的歌曲,只显示proj []字符串而不是我设备上的所有歌曲。
我知道我没有正确应用这个。有什么帮助吗?