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

6 篇文章 0 订阅
6 篇文章 0 订阅

由于两个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);
 }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值