嘿家伙我在listview(自定义适配器)面临问题 . 我已经实现了播放音频(mp3文件)的媒体播放器的listview . 我已经在我的原始文件夹中包含了mp3文件 . 我知道这是一个循环视图 . 我的问题是在6-7行之后,相同的mp3文件与第0个位置的文件相同 . 任何解决方案?我的主要活动公共类MainActivity扩展了Activity实现OnItemClickListener {

ListView lview3;

ListViewCustomAdapter adapter;

private ArrayList itemList;

private ItemBean bean;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

prepareArrayLits();

lview3 = (ListView) findViewById(R.id.listView1);

adapter = new ListViewCustomAdapter(this, itemList);

lview3.setAdapter(adapter);

lview3.setOnItemClickListener(this);

}

@Override

public void onItemClick(AdapterView> arg0, View arg1, int position1, long id) {

// TODO Auto-generated method stub

ItemBean bean = (ItemBean) adapter.getItem(position1);

Toast.makeText(this, "Title => "+bean.getTitle()+" \n Description => "+bean.getDescription(), Toast.LENGTH_SHORT).show();

}

/* Method used to prepare the ArrayList,

* Same way, you can also do looping and adding object into the ArrayList.

*/

public void prepareArrayLits()

{

itemList = new ArrayList();

AddObjectToList(R.drawable.ic_add, "Add", "Add desc",R.raw.mp1);

AddObjectToList(R.drawable.ic_delete, "Delete", "Delete desc",R.raw.mp2);

AddObjectToList(R.drawable.ic_down, "Down", "Down desc",R.raw.mp3);

AddObjectToList(R.drawable.ic_info, "Information", "Information desc",R.raw.mp4);

AddObjectToList(R.drawable.ic_help, "Help", "Help desc",R.raw.mp5);

AddObjectToList(R.drawable.ic_download, "Download", "Download desc",R.raw.mp6);

AddObjectToList(R.drawable.ic_mail, "Mail", "Mail desc",R.raw.mp7);

AddObjectToList(R.drawable.ic_search, "Search", "Search desc",R.raw.mp8);

AddObjectToList(R.drawable.ic_settings, "Settings", "Settings desc",R.raw.mp9);

}

// Add one item into the Array List

public void AddObjectToList(int image, String title, String desc,int audio)

{

bean = new ItemBean();

bean.setDescription(desc);

bean.setImage(image);

bean.setTitle(title);

bean.setAudio(audio);

itemList.add(bean);

}

}

我的listviewCustomadapter

public class ListViewCustomAdapter extends ArrayAdapter {

MediaPlayer mPlayer;

Context c;

ArrayList itemList;

public Activity context;

public LayoutInflater inflater;

public ListViewCustomAdapter(Activity context, ArrayList itemList) {

super(context, R.layout.main);

this.context = context;

this.itemList = itemList;

this.c = context;

this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return itemList.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return itemList.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return 0;

}

public static class ViewHolder {

ImageView imgViewLogo;

TextView txtViewTitle;

TextView txtViewDescription;

Button btn1, btn2;

}

@Override

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

// TODO Auto-generated method stub

ViewHolder holder;

if (convertView == null) {

holder = new ViewHolder();

convertView = inflater.inflate(R.layout.items, null);

holder.imgViewLogo = (ImageView) convertView.findViewById(R.id.imgViewLogo);

holder.btn1 = (Button) convertView.findViewById(R.id.button);

holder.btn1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if (position == 0) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp1);

mPlayer.start();

}

if (position == 1) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp2);

mPlayer.start();

}

if (position == 2) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp3);

mPlayer.start();

}

if (position == 3) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp4);

mPlayer.start();

}

if (position == 4) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp5);

mPlayer.start();

}

if (position == 5) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp6);

mPlayer.start();

}

if (position == 6) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp7);

mPlayer.start();

}

if (position == 7) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp8);

mPlayer.start();

}

if (position == 8) {

mPlayer = MediaPlayer.create(getContext(), R.raw.mp9);

mPlayer.start();

}

}

});

holder.btn2 = (Button) convertView.findViewById(R.id.button2);

holder.txtViewTitle = (TextView) convertView.findViewById(R.id.txtViewTitle);

holder.txtViewDescription = (TextView) convertView.findViewById(R.id.txtViewDescription);

convertView.setTag(holder);

} else

holder = (ViewHolder) convertView.getTag();

ItemBean bean = (ItemBean) itemList.get(position);

holder.imgViewLogo.setImageResource(bean.getImage());

holder.txtViewTitle.setText(bean.getTitle());

holder.txtViewDescription.setText(bean.getDescription());

return convertView;

}

}

mp8播放器 android 1.4,listview(自定义适配器)与媒体播放器android相关推荐

  1. android 中自定义安装,Android开发中ListView自定义adapter的封装

    [引入] 我们一般编写listView的时候顺序是这样的: •需要展示的数据集List •为这个数据集编写一个ListView •为这个ListView编写一个Adapter,一般继承自BaseAda ...

  2. android fragment中引入自定义view_厉害了,用Android自定义View实现八大行星绕太阳3D旋转效果...

    作者:史蒂芬诺夫斯基 链接:https://www.jianshu.com/p/2954f2ef8ea5 好久没写View了,最近恰巧遇到一个八大行星绕太阳旋转的假3D效果,写完之后感觉效果还不错.能 ...

  3. 带有自定义适配器示例教程的Android ListView

    In this tutorial we'll use a CustomAdapter that populates the custom rows of the Android ListView wi ...

  4. upnp 播放器 android,基于Android系统的UPNP媒体播放器的研究与实现

    摘要: 近几年来,"数字家庭网络"的发展备受人们的关注,如何通过有线或无线的方式将多个网络设备及家庭设备互联互通,最终实现设备之间自动发现.智能互联.相互控制.资源共享等操作,是目 ...

  5. android播放器1004,Android媒体播放器在从外部网站播放流时出错(1,-1004)

    我试图从我的 Android应用程序中的网站播放音频文件,但它遇到媒体播放器错误(1,-1004). 当我在Windows媒体播放器或vlc播放器中使用它时,流链接工作正常.为什么Android媒体播 ...

  6. 30个最佳和免费的Android媒体播放器

    今天发布的内容有所不同,我们为您介绍了Google Play App Store提供的The Best Android Media Player . 1. MusiXmatch歌词播放器 狂热的音乐爱 ...

  7. MediaPlayer( 媒体播放器),TelephonyManager(电话管理类),MediaRecorder(媒体录音机)

    媒体播放器 MediaPlayer 媒体播放器类可用于控制回放的音频/视频文件和流. 方法: setDataSource(String path);// 设置数据源(文件路径或http / rtsp ...

  8. 教程:媒体播放器SKIN制作全攻略[原创]

    因为不太知道怎样的教程比较合用,所以我想把这个教程做成互动式的,一部分一部分地放上来,大家可以对这篇文档提出自己的建议和要求,我根据大家的需求来改,目前拟定的目录如下: 微软媒体播放器SKIN制作教程 ...

  9. android自定义控件是一个 内部类 如何在xml中引用,android 自定义view属性

    android 自定义view属性 一个完美的自定义控件也可以添加xml来配置属性和风格.要实现这一点,可按照下列步骤来做: 1) 添加自定义属性到xml文件中 2) 在xml的中,指定属性的值 3) ...

最新文章

  1. Ubuntu的apt-get使用国内的源
  2. 2019秋第三周学习总结
  3. Linux中的管道与重定向
  4. slice 和 splice 区别
  5. 理想汽车交付失误 油门踩到底速度最高30迈,李想:是我们太蠢了
  6. 21.Shiro在springboot与vue前后端分离项目里的session管理
  7. 【优化算法】孪生支持向量机(TWSVM)【含Matlab源码 1257期】
  8. Java后端开发笔试题
  9. 股票开户天载钢铁等板块跌幅居前
  10. 地球上20张最惊人照片!不看将后悔一辈子
  11. 移动用户免费领取15G流量(秒到)
  12. 新手小白怎么学抖音运营?抖音运营5大技巧
  13. Spring Boot 启动卡住了
  14. 链表及经典问题(船长系列)
  15. (四)激活函数与loss梯度
  16. 经典的期货量化交易策略大全(含源代码)
  17. java处理器,JAVA注解处理器
  18. ECMAScript(pink)
  19. element的formatter失效的解决方案
  20. 前端(Jinja2)

热门文章

  1. JASS代码加翻译(第八篇)
  2. BSN武汉链对接说明
  3. 报错:[nodemon] app crashed - waiting for file changes before starting...
  4. Matlab通过ode求解微分方程
  5. EG网关网口连接西门子PLC应用案例
  6. CFX 多工况计算的批处理方法
  7. “GANs 之父”Goodfellow亲身传授:深度学习未来的8大方向和入门AI必备的三大技能
  8. SDD与SDT的区别
  9. 关键字keywords
  10. 制作启动盘及安装系统