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); } }
相关文章推荐
- GL音乐播放器--代码实现<八>--重力甩歌
- GL音乐播放器--代码实现<七>--实现换肤功能
- GL音乐播放器--代码实现<四>--进度控制和可隐藏的音量控制
- GL音乐播放器--代码实现<五>-- 数据的保存SharedPreferences
- GL音乐播放器---代码实现<一>
- GL音乐播放器--代码实现<三>
- GL音乐播放器<三>--界面设计之专辑照片的实现
- 转:TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码
- TestLink测试用例:Excel转换XML工具<二>实现代码
- GL音乐播放器--代码实现<六>--电话监听
- GL音乐播放器<二>----界面设计
- Java中i18nAction实现国际化<二>
- Android代码实现APK的下载安装和卸载<1>
- Cocos2d-x简单游戏<捕鱼达人>代码实现|第一部分:鱼类
- java二维码生成与解析代码实现 <转载自http://blog.csdn.net/about58238/article/details/7494704>
- 动画效果之渐变、缩放、平移、旋转<代码实现>
- 在spring中利用Guava实现本地Cache的具体配置 第二篇<二>
- 最简单的struts2中使用<s:iterator>实现隔行变色代码[珍藏版]
- SQLite学习手册(实例代码<二>)
- 子类化QWidget IconEditor实现<二>