您的位置:首页 > 编程语言

GL音乐播放器--代码实现<二>

2014-02-17 16:59 423 查看
下面是歌单填充代码:
下面是效果图:



package com.genius.adapter;

import java.util.List;

import com.genius.demo.R;

import com.genius.demo.R.drawable;

import com.genius.demo.R.id;

import com.genius.demo.R.layout;

import com.genius.musicplay.MusicData;

import com.genius.musicplay.MusicPlayState;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

public class ListViewAdapter extends BaseAdapter{

private List<MusicData> mFileList;

private LayoutInflater mLayoutInflater;

private int 		   mCurPlayMusicIndex;

private int 		   mPlayState;

public ListViewAdapter(Context context, List<MusicData> FileList)

{

mFileList = FileList;

mLayoutInflater = LayoutInflater.from(context);

mCurPlayMusicIndex = -1;

mPlayState = MusicPlayState.MPS_PREPARE;

}

public void refreshAdapter(List<MusicData> FileList)

{

mFileList = FileList;

notifyDataSetChanged();

}

public void setPlayState(int playIndex, int playState)

{

mCurPlayMusicIndex = playIndex;

mPlayState = playState;

notifyDataSetChanged();

}

public int getCurPlayIndex()

{

return mCurPlayMusicIndex;

}

public int getCurPlayState()

{

return mPlayState;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return mFileList.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

if (convertView == null)

{

convertView = mLayoutInflater.inflate(R.layout.listview_item, null);

}

showPlayStateIcon(convertView, position);

TextView posTextView = (TextView) convertView.findViewById(R.id.musiclistPos);

String strPosString = String.valueOf(position + 1) + ".";

posTextView.setText(strPosString);

TextView nametTextView = (TextView) convertView.findViewById(R.id.musicName);

nametTextView.setText(mFileList.get(position).mMusicName);

TextView timeTextView = (TextView) convertView.findViewById(R.id.musicTime);

int time = mFileList.get(position).mMusicTime;

timeTextView.setText(formatTime(time));

TextView pathTextView = (TextView) convertView.findViewById(R.id.musicAritst);

pathTextView.setText(mFileList.get(position).mMusicAritst);

return convertView;

}

private void showPlayStateIcon(View view, int position)

{

ImageView imageView = (ImageView) view.findViewById(R.id.musicplaystate);

if (position != mCurPlayMusicIndex)

{

imageView.setVisibility(View.GONE);

return ;

}

imageView.setVisibility(View.VISIBLE);

if (mPlayState == MusicPlayState.MPS_PAUSE)

{

imageView.setBackgroundResource(R.drawable.list_pause_icon);

}else{

imageView.setBackgroundResource(R.drawable.list_play_icon);

}

}

private static String formatTime(int time) {

int min = time / (1000 * 60 );

String sec = time % (1000 * 60) + "";

if(sec.length()<2){

sec += "000";

}

return min+":"+sec.trim().substring(0,2);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: