リストの行に 2 つのボタンと 3 つのテキスト ビューを含むリスト ビュー (つまり、オーディオのリスト) を生成するアプリ。2 つのボタンは、基本アダプターを実装するアダプターを使用してクリック可能にしました。再生ボタンをクリックすると、ボタン(再生)の背景が変更されました。しかし、問題は、位置0、10、20、31、41のように複数の再生ボタンの背景が変更されたことです行をクリックして、選択したリストビューの背景を変更して、再生中のオーディオを他のものと区別する方法を知りたい...
pls..私にその解決策を提案してください..次の私のアダプタークラスに事前に感謝します
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = l_Inflater.inflate(R.layout.lv_layout1, null);
holder = new ViewHolder();
holder.Title = (TextView) convertView.findViewById(R.id.Title);
holder.Date = (TextView) convertView.findViewById(R.id.Date);
holder.Time = (TextView) convertView.findViewById(R.id.Time);
holder.Duration = (TextView) convertView.findViewById(R.id.Duration1);
holder.view = (Button) convertView.findViewById(R.id.View);
holder.play = (Button) convertView.findViewById(R.id.Play);
holder.r_layout = (RelativeLayout) convertView.findViewById(R.id.r_layout);
holder.Duration.setVisibility(View.INVISIBLE);
holder.play.setBackgroundResource(0x7f020009);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.play.setOnClickListener(new View.OnClickListener()
{
public void onClick(View convertView) throws IllegalStateException
{
// TODO Auto-generated method stub
//here is code for play/stop the audio
holder.play.setBackgroundResource(0x7f020009);
}
});
holder.view.setOnClickListener(new View.OnClickListener() {
public void onClick(View convertView) {
// TODO Auto-generated method stub
Log.i("View","hai");
Intent i=new Intent(context,audio_player.class);
Bundle bd=new Bundle();
String sel=itemDetailsrrayList.get(position).getTitle();
String dur=itemDetailsrrayList.get(position).getDuration();
bd.putString("audioID",sel);
bd.putString("totalDuration",dur);
i.putExtras(bd);
System.out.println("After intent called");
context.startActivity(i);
((Activity) context).finish();
}
});
return convertView;
}
static class ViewHolder {
TextView Title,Date,Time,Duration;
ListView lv;
Button view,play;
RelativeLayout r_layout;
}
}