[Android]_ch10.3_音樂清單實作
package com.gjun.ch25_musiclistview;
import android.app.Activity;
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
ListView LV;
MediaPlayer mp;
boolean stoped=true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LV=(ListView)findViewById(R.id.listView1);
LV.setAdapter(new MyAdapter(MainActivity.this));
LV.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
LinearLayout layout=(LinearLayout)((LinearLayout)view).getChildAt(1);
TextView textView=(TextView)layout.getChildAt(0);
Toast.makeText(MainActivity.this,textView.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
}
public class MyAdapter extends BaseAdapter{
int images[]={R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5};
String texts[]={"大悲咒","藥師咒","財神咒","往生咒","我們不一樣"};
int songs[]={R.raw.a1,R.raw.a2,R.raw.a3,R.raw.a4,R.raw.a5};
LayoutInflater layoutInflater;
public MyAdapter(Context context){
layoutInflater=(LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);
}
public class ViewHolder{
Button btn1,btn2,btn3;
ImageView iv;
TextView tv;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return images.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView==null){
convertView=layoutInflater.inflate(R.layout.item, null);
viewHolder=new ViewHolder();
viewHolder.iv=(ImageView)convertView.findViewById(R.id.imageView1);
viewHolder.tv=(TextView)convertView.findViewById(R.id.textView1);
viewHolder.btn1=(Button)convertView.findViewById(R.id.button1);
viewHolder.btn2=(Button)convertView.findViewById(R.id.button2);
viewHolder.btn3=(Button)convertView.findViewById(R.id.button3);
convertView.setTag(viewHolder);
}else{
viewHolder=(ViewHolder)convertView.getTag();
}
viewHolder.iv.setImageResource(images[position]);
viewHolder.tv.setText(texts[position]);
viewHolder.btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(mp==null || stoped){
mp=MediaPlayer.create(MainActivity.this,songs[position]);
}
mp.start();
stoped=false;
}
});
viewHolder.btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.pause();
}
});
viewHolder.btn3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mp.stop();
stoped=true;
}
});
return convertView;
}
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if(mp!=null){
mp.release();
mp=null;
}
}
}
沒有留言:
張貼留言