我有一个按钮的list view
,其中每行都有播放按钮。如果我点击第一次播放按钮它改变暂停,但如果我按下第二行播放按钮,那么首先将保持暂停状态,但我希望如果任何按钮被按下,然后回到其播放satate按钮和点击之一改变暂停。请帮助单击按钮时更改按钮在列表视图中的状态
if (position == mPlayingPosition&&equals(subscription_type_user)) {
textview_duration_Current.post(mUpdateTime);
//pb.setVisibility(View.VISIBLE);
Log.d("helyaa", String.valueOf(position));
mProgressUpdater.mBarToUpdate = pb;
mHandler.postDelayed(mProgressUpdater, 100);
} else {
Log.d("helnaa", String.valueOf(position));
//pb.setVisibility(View.GONE);
pb.setProgress(0);
textview_duration_Current.setText("");
if (mProgressUpdater.mBarToUpdate == pb) {
//this progress would be updated, but this is the wrong position
mProgressUpdater.mBarToUpdate = null;
}
我的列表Click事件
mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View item,
int position, long id) {
Planet planet = listAdapter.getItem(position);
planet.toggleChecked();
PlanetViewHolder viewHolder = (PlanetViewHolder) item.getTag();
// viewHolder.getCheckBox().setChecked(planet.isChecked());
if (planet.isChecked()) {
Toast.makeText(Main_New.this, "Play", Toast.LENGTH_SHORT).show();
//start playing item at position
try {
mPlayer.reset();
mPlayer.setDataSource(String.valueOf(planet = listAdapter.getItem(position)));
mPlayer.prepare();
mPlayer.start();
//mPlayingPosition = position;
Log.d("OnlyPos", String.valueOf(position));
// Log.d("Postionof", String.valueOf(mPlayingPosition));
//Toast.makeText(this,"Position of"+mPlayingPosition,Toast.LENGTH_SHORT).show();
// Updating progress bar
//updateProgressBar();
//trigger list refresh, this will make progressbar start updating if visible
} catch (IOException e) {
// Log.e("unable to play: " + planetList.get(position));
e.printStackTrace();
}
}
;
}
});
我试着用单选按钮!但是我想使用ImageView! –
与imageView必须通知适配器每次点击图像.. – pkgrover