android模仿铃声选择功能

  分为两块:1、显示文件列表;2、试听铃声;
 
  1、文件列表包括:文件名称、文件大小和右边一个待显示的选择按钮;
  2、单击列表试听每一项铃声;
 
 
  文件列表的主要代码和思路: 
  
public class ListFileActivity extends ListActivity{ 
  
  } 
  
  ListFileAdapter extends BaseAdapter{ 
  
 class ViewHolder{ 
  public TextView tvFileName; 
  public TextView tvFileSize; 
  public Button btnChoose; 
 } 
  
 . 
 . 
 . 
  
 proteced View getView(.......){ 
  ViewHolder viewHolder = null; 
  if(convertView==null){ 
   viewHolder = new ViewHolder(); 
   convertView = LayoutInflate.from(context).inflate(R.layout....); 
   viewHolder.tvFileName = (TextView)convertView.findByViewId(R.id....); 
   viewHolder.tvFileSize = (TextView)convertView.findByViewId(R.id....); 
   viewHolder.btnChoose = (Button)convertView.findByViewId(R.id....); 
   convertView.setTag(viewHolder);  //设置可见的tag(存在内存里的),以便给下拉的不可见的赋对象,不必每次都findViewById,节约内存并提高效率 
  }else{ 
   viewHolder = (ViewHolder)convertView.getTag(); 
  } 
   
  viewHolder.tvFileName.setText(list.get(position).getFileName()); //list里放的当然是Bell啦 
  
   
  if(list.get(position).getFileName().toUpperCase().indexOf(".MP3") || list.get(position).getFileName().toUpperCase().indexOf(".OGG")){ 
   实例化viewHolder.tvFileSize、viewHolder.btnChoose并设置可见 
  }else{ 
   viewHolder.tvFileSize、viewHolder.btnChoose设置不可见 
  } 
   
 } 
  
 return convertView; 
  
  } 
  
  
  class Bell{ 
  public String fileName; 
  public String fileSize; 
   
  settet/getter方法...... 
  }
 
  
  
  单击列表试听每一项铃声的主要代码和思路
 
  试听: 
  
MediaPlay  mediaPlay = null; 
  
  private void playMusic(){ 
   mediaPlay = new MediaPlay(); 
   mediaPlay.setDataSource...("绝对路径/sdcard/aaa/bbb/ccc.mp3"); 
   mediaPlay.prepare(); 
   mediaPlay.start(); 
  } 
  
  private void closeMusic(){ 
 if(mediaPlay!=null && mediaPlay.isPlaying()){ 
  mediaPlay.stop(); 
  mediaPlay = null; 
 } 
  } 
  
  @overried 
  proteced void onPause(){ 
 super.onPause(); 
 closeMusic(); 
  } 
  
  @overried 
  proteced void onBackPressed(){ 
 super.onBackPressed(); 
 closeMusic(); 
  }
 
  
 
  我的博客其它文章列表  
   http://my.oschina.net/helu

转载于:https://my.oschina.net/helu/blog/141722

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值