接上篇,在Adapter中 convertView本身就有一个 setOnClickListener方法。重写方法并传入原 ArrayList<music> MODEL中listview中一个view的position如下:
convertView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.OnClick( position); } });
然后在写一个接口,并写出实现这个接口的类(传入position)
interface SetlistViewOnClickListener { void OnClick( int position); } public void SetOnClickListeners (SetlistViewOnClickListener listener){ this.listener=listener; }
后在主ACTIVITY中去调用此接口。
myAdapter.SetOnClickListeners(new MyAdapter.SetlistViewOnClickListener() { @Override public void OnClick(int position) { music musicItem=data.get(position); genxin(musicItem); } });
public void genxin(music music){ if (mediaPlayer!=null){ mediaPlayer.pause(); } dibugeming.setText(music.getSinger()); mediaPlayer=MediaPlayer.create(this,music.getRawid()); Play(); }初学时没有老鸟带,光看视频和书很吃力。刚开始写代码,尽量去自已要用到的东西。网上很多成段的代码复制对学习进步帮助不大。如有高手能指点一二万分感激!