现在的位置: 首页 > 综合 > 正文

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

2014年04月05日 ⁄ 综合 ⁄ 共 2783字 ⁄ 字号 评论关闭
下面是歌单填充代码:

下面是效果图:
GL音乐播放器--代码实现二 - Google在奋斗~ - Googleの博客
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);

	}




}

抱歉!评论已关闭.