@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View v = convertView;
if(v == null){
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.country_row, null);
}
Country item = getItem(position);
TextView tv1 = (TextView) v.findViewById(R.id.country);
final CheckedTextView ctv = (CheckedTextView) v.findViewById(R.id.checked);
ctv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ctv.toggle();
Country country = (Country) listView.getItemAtPosition(position);
Log.d("daim", country.getCountry() + " " + country.getCode());
//listView.getCheckItemIds();
}
});
tv1.setText(item.getCountry());
return v;
}
最初の要素(位置0)をチェックするとチェックされますが、リストビューを下にスクロールすると、次の「セクション」の最初の位置もチェックされ、これがずっと続きます。たとえば、100 個の要素があり、位置 0 をチェックすると、位置 10、20、30、40 などもチェックされます。この種の問題をどのように処理できますか?
前もって感謝します。