在SD卡的列表视图中显示mp3歌曲

时间:2013-11-11 07:07:31

标签: android-listview

我想在listview中显示sd卡中的 mp3歌曲。我正在空白列表视图

这是我的代码:

    public class MusicActivity extends Activity {
    ListView musiclist;
    Cursor musiccursor;
    int music_column_index;
    int count;
    MediaPlayer mMediaPlayer;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          init_phone_music_grid();
    }

    private void init_phone_music_grid() {
          System.gc();
          String[] proj = { MediaStore.Audio.Media._ID,MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.DISPLAY_NAME,MediaStore.Video.Media.SIZE };
          musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,proj, null, null, null);

          count = musiccursor.getCount();
          musiclist = (ListView) findViewById(R.id.PhoneMusicList);
          musiclist.setAdapter(new MusicAdapter(getApplicationContext()));

          musiclist.setOnItemClickListener(musicgridlistener);
          mMediaPlayer = new MediaPlayer();
    }

    private OnItemClickListener musicgridlistener = new OnItemClickListener() {
          public void onItemClick(AdapterView parent, View v, int position,long id) {
                System.gc();
                music_column_index = musiccursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
                musiccursor.moveToPosition(position);
                String filename = musiccursor.getString(music_column_index);

                try {
                      if (mMediaPlayer.isPlaying()) {
                            mMediaPlayer.reset();
                      }
                      mMediaPlayer.setDataSource(filename);
                      mMediaPlayer.prepare();
                      mMediaPlayer.start();
                } catch (Exception e) {

                }
          }
    };


}




    public class MusicAdapter extends BaseAdapter {

    public MusicAdapter(Context applicationContext) {
        // TODO Auto-generated constructor stub
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int arg0, View arg1, ViewGroup arg2) {
        // TODO Auto-generated method stub
        return arg1;
    }

}

请给我一些指导或想法。

0 个答案:

没有答案