Я новичок в андроиде, и я хочу играть и приостанавливать песню, когда ImageView
нажал. В соответствии с моим проектом у меня есть один пользовательский список и в этом списке есть два ImageView
. Так, когда пользователь выбирает игру в это время, воспроизводите песню и выберите паузу в это время, приостановите песню.Как установить ImageView setOnClickListner, который находится в пользовательском списке воспроизведения и воспроизведении/паузе песни при щелчке изображения?
Примечание: - В основном я хочу, чтобы установить, что onClickListner в моем классе активности не пользовательский ListView adapter.And я добавил, что песни из res\raw
папки в ArrayList.
Вот это мой адаптер
public class SongAdapter extends BaseAdapter{
Context context;
private ArrayList<SongModel> songsListDat = null;
public ArrayList<SongModel> songsList;
private static LayoutInflater inflater;
public SongAdapter(Activity activity, ArrayList<SongModel> songsListDat) {
this.context = activity;
this.songsListDat = songsListDat;
this.songsList = new ArrayList<SongModel>();
this.songsList.addAll(songsListDat);
}
public void setSelectedIndex(int ind)
{
notifyDataSetChanged();
}
@Override
public int getViewTypeCount() {
return 1;
}
@Override
public int getCount() {
return songsListDat.size();
}
@Override
public Object getItem(int position) {
return songsListDat.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.ringtone_row_layout, null);
TextView title = (TextView) vi.findViewById(R.id.name); // title
ImageView play = (ImageView)vi.findViewById(R.id.imgPlayPause);
ImageView pause = (ImageView)vi.findViewById(R.id.imgPause);
SongModel song = new SongModel();
song = songsListDat.get(position);
title.setText(song.getSongTitle());
return vi;
}
}
Это класс деятельности: - В этом упражнении я хочу установить onclicklistner для воспроизведения и паузы функции.
public class MainActivity extends ListActivity {
public static final String TAG = "[MainActivity]";
Activity activity;
SongAdapter songAdapter;
SongsManager songsManager = new SongsManager();
MediaPlayer mp;
// Songs list
public ArrayList<SongModel> songsList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
activity = MainActivity.this;
mp = new MediaPlayer();
SongsManager plm = new SongsManager(activity);
final ArrayList<SongModel> songsListData = songsManager.songList;
this.songsList = plm.getAllSongs();
for (int i = 0; i < songsListData.size(); i++) {
SongModel song = songsListData.get(i);
songsListData.add(song);
}
songAdapter = new SongAdapter(this, songsList);
setListAdapter(songAdapter);
ListView lv = getListView();
}
}
и это моя песня модель класса
public class SongModel {
private String songPath, songTitle;
public SongModel(String songPath, String songTitle) {
this.songPath = songPath;
this.songTitle = songTitle;
}
public SongModel() {
}
public void setSongPath(String songPath){
this.songPath = songPath;
}
public String getSongPath() {
return songPath;
}
public void setSongTitle(String songTitle){
this.songTitle = songTitle;
}
public String getSongTitle() {
return songTitle;
}
}
Если кто-нибудь знает, пожалуйста, помогите мне ...
я попробую ..... –
Смотрите мои изменения в деятельности, я получаю NullPointer в OnMouseListner и скажите мне, где я не прав в этом https://gist.github.com/anonymous/43e3700bc0292623cf71208a41eeae61 –
Пожалуйста, проверьте редактировать код ... Я добавил код активности тоже. –