您的位置:首页 > 移动开发 > Android开发

Android MP3播放器实例-------AlbumsActivity,ArtistsActivity以及对应的Adapter类

2012-03-06 15:52 246 查看
由于两个Activity以及Adapter类都相似于上一篇中我介绍的两个类,所以这里不进行细将,只把代码贴出来大家看。

ArtistActivity

package music.mic.act;

import music.mic.adapter.ArtistsAdapter;

import music.mic.util.MusicList;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ListView;

public class ArtistsActivity extends Activity {

private ListView artistlistView;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.artist);

artistlistView = (ListView) this.findViewById(R.id.artistListView);

ArtistsAdapter adapter = new ArtistsAdapter(this, MusicList.getMusicData(this));

artistlistView.setAdapter(adapter);

artistlistView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

Intent intent = new Intent(ArtistsActivity.this,MusicActivity.class);

intent.putExtra("id",arg2);

startActivity(intent);

}

});

}

}

ArtistAdapter

package music.mic.adapter;

import java.util.List;

import music.mic.act.R;

import music.mic.mic.Music;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

public class ArtistsAdapter extends BaseAdapter {

private List<Music> listMusic;

private Context context;

public ArtistsAdapter(Context context, List<Music> listMusic) {

super();

this.context = context;

this.listMusic = listMusic;

}

public void setItemList(List<Music> listMusic) {

this.listMusic = listMusic;

}

@Override

public int getCount() {

return listMusic.size();

}

@Override

public Object getItem(int arg0) {

return listMusic.get(arg0);

}

@Override

public long getItemId(int position) {

return position;

}

@Override

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

if (convertView == null) {

convertView = LayoutInflater.from(context).inflate(R.layout.music_item, null);

}

Music m = listMusic.get(position);

// 歌名

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

musicName.setText(m.getSinger());

// 歌手

TextView textMusicSinger = (TextView) convertView.findViewById(R.id.music_item_singer);

textMusicSinger.setText(m.getAlbum());

// 持续时间

TextView textMusicTime = (TextView) convertView.findViewById(R.id.music_item_time);

textMusicTime.setText(toTime((int) m.getTime()));

return convertView;

}

private String toTime(int time) {

time /= 1000;

int minute = time / 60;

int hour = minute / 60;

int second = time % 60;

minute %= 60;

return String.format("%02d:%02d", minute, second);

}

}

albumsActivity

package music.mic.act;

import music.mic.adapter.AlbumsAdapter;

import music.mic.util.MusicList;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ListView;

public class AlbumsActivity extends Activity {

private ListView albumlistView;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.albums);

albumlistView = (ListView) this.findViewById(R.id.albumListView);

AlbumsAdapter adapter = new AlbumsAdapter(this, MusicList.getMusicData(this));

albumlistView.setAdapter(adapter);

albumlistView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

Intent intent = new Intent(AlbumsActivity.this, MusicActivity.class);

intent.putExtra("id", arg2);

startActivity(intent);

}

});

}

}

albumsAdapter

package music.mic.adapter;

import java.util.List;

import music.mic.act.R;

import music.mic.mic.Music;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

public class AlbumsAdapter extends BaseAdapter {

private List<Music> listMusic;

private Context context;

public AlbumsAdapter(Context context, List<Music> listMusic) {

super();

this.context = context;

this.listMusic = listMusic;

}

public void setItemList(List<Music> listMusic) {

this.listMusic = listMusic;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return listMusic.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return listMusic.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

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

if (convertView == null) {

convertView = LayoutInflater.from(context).inflate(R.layout.music_item, null);

}

Music m = listMusic.get(position);

//歌名

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

musicName.setText(m.getName());

// 歌手

TextView textMusicSinger = (TextView) convertView.findViewById(R.id.music_item_singer);

textMusicSinger.setText(m.getAlbum());

// 持续时间

TextView textMusicTime = (TextView) convertView.findViewById(R.id.music_item_time);

textMusicTime.setText(toTime((int) m.getTime()));

return convertView;

}

private String toTime(int time) {

time /= 1000;

int minute = time / 60;

int hour = minute / 60;

int second = time % 60;

minute %= 60;

return String.format("%02d:%02d", minute, second);

}

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