public CustomAdapter(Context context, int layout, ArrayList<Murottal> arrayList) {
this.context = context;
this.layout = layout;
this.arrayList = arrayList;
}
@Override
public int getCount() {
return arrayList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
//untuk deklarasi variable tampilan nama, judul dll
private class ViewHolder {
TextView txtName, txtQori;
ImageView lvPlay, lvStop;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
final ViewHolder viewHolder;
if (view == null) {
viewHolder = new ViewHolder();
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = layoutInflater.inflate(layout, null);
viewHolder.txtName = view.findViewById(R.id.txtName);
viewHolder.txtQori = view.findViewById(R.id.txtQori);
viewHolder.lvPlay = view.findViewById(R.id.lvPlay);
viewHolder.lvStop = view.findViewById(R.id.lvStop);
view.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) view.getTag();
}
final Murottal murottal = arrayList.get(position);
viewHolder.txtName.setText(murottal.getName());
viewHolder.txtQori.setText(murottal.getQori());
//play Audio
viewHolder.lvPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (flag) {
mediaPlayer = MediaPlayer.create(context, murottal.getMurotall());
flag = false;
}
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
viewHolder.lvPlay.setImageResource(R.drawable.ic_play);
} else {
mediaPlayer.start();
viewHolder.lvPlay.setImageResource(R.drawable.ic_pause);
}
}
});
viewHolder.lvStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!flag){
mediaPlayer.stop();
mediaPlayer.release();
flag = true;
}
viewHolder.lvPlay.setImageResource(R.drawable.ic_play);
}
});
return view;
}