カスタム アダプタ リスト ビューでクリックするアイテムの反応を繰り返すと問題が発生します。実際には、クリックされた要素に onClick でメソッドを適用し、リストを下にスクロールすると、いくつかの要素が同じことを繰り返します。
そのため、タグで解決しようとすると、役に立ちません。Stack と Google で見つけた別の認識を使用しようとしていますが、それも役に立ちません。それが私の欲望の実現コードです
public class CAChanal extends BaseAdapter {
private Context context;
protected MainActivity MAcontext;
public CAChanal(MainActivity _context){
MAcontext = _context;
}
public CAChanal(Context context) {
this.context = context;
}
ArrayList<DMChanal> listArray;
public CAChanal() {
listArray = new ArrayList<DMChanal>();
}
@Override
public int getCount() {
return listArray.size();
}
@Override
public Object getItem(int i) {
return listArray.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int index,View view, ViewGroup parent) {
final ViewHolder holder ;
if (view == null) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
view = inflater.inflate(R.layout.chanal_template, null);
holder = new ViewHolder();
holder.chanalElement=(ChanalView)view.findViewById(R.id.chanalView_forList);
view.setTag(holder);
}else
{
holder = (ViewHolder)view.getTag();
}
holder.chanalElement.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(!holder.chanalElement.getChanalStatus())
{
holder.chanalElement.enableChanal();
}else
{
holder.chanalElement.disableChanal();
}
}
});
return view;
}
static class ViewHolder {
ChanalView chanalElement;
}
public Object getFilter() {
return null;
}
}
私の問題を解決し、私のコードで何が間違っているのかを説明するのを手伝ってくれる人はいますか? PS: ChanalView は私のカスタム ビューです。