2018年12月14日 星期五

[Android]_ch10.3_音樂清單實作



[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;

}

}



}


沒有留言:

張貼留言

Ether.fi Cash Card 一張所有人必備的加密貨幣信用卡   [Ether.fi Cash Card] : https://www.ether.fi/app/cash/sign-up?ref_code=d27f8523 ------國際交易所------ [Bitg...