【发布时间】:2017-07-24 10:18:48
【问题描述】:
我有一个铃声列表视图,每个铃声的每一行都有一个播放图像视图。
这是它的视图。
现在很明显,当用户点击播放按钮时,它应该切换到暂停按钮。
现在我有一个问题:
我点击一个播放按钮,它会变成暂停按钮,但与此同时,当我点击另一行的播放按钮时,需要点击两次,直到第二次变成暂停按钮。
这是我的代码:
适配器
Product product = (Product) mDataItems.get(position);
holder.playPause=(ImageView)v.findViewById(R.id.playPause);
holder.playPause.setImageResource(product.getPlayPauseId());
holder.playPause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (callback != null) {
callback.playPauseOnClick(position);
}
}
});
活动
@Override
public void playPauseOnClick(int position) {
final Product product = productList.get(position);
if (paused) {
product.setPlayPauseId(R.drawable.ic_pause);
paused=false;
}else {
product.setPlayPauseId(R.drawable.ic_play);
paused = true;
}
adapter.notifyDataSetChanged();
};
我已经猜到问题出在我的身上
if(paused){
}
如果您能提供更好的逻辑,我将不胜感激
【问题讨论】:
-
如果我理解正确,您想一键播放/切换播放。到任何其他行对吗?为此,您可以跟踪当前正在播放的行.. 停止该行的播放器并播放音频,更改新点击行的图像。
-
你说得很好......你对如何跟踪播放行有什么建议吗?我的意思是我必须先停止播放歌曲,然后播放新歌曲。我知道这有与我最初的问题无关,但如果你可以为它准备一个答案,我会投票给你
标签: android listview android-studio adapter baseadapter