Можно ли вызвать метод onCheckedChanged без взаимодействия?

У меня есть собственный ListView, в котором щелчок по элементу запускает новую Activity. Каждая строка ListViewимеет CheckBoxи TextView.

Это метод getViewиз моего пользовательского ListView:

public View getView(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.puzzles_row, null);
        }
        ListedPuzzle lp = items.get(position);
        if (lp != null) {
            TextView title = (TextView) v.findViewById(R.id.listTitles);
            title.setText(lp.getTitle());
            CheckBox star = (CheckBox) v.findViewById(R.id.star_listed);
            star.setChecked(lp.isStarred());
            star.setTag(new Integer(position));

            star.setOnCheckedChangeListener(new OnCheckedChangeListener() {

                public void onCheckedChanged(CompoundButton buttonView,
                        boolean isChecked) {
                    Integer realPosition = (Integer) buttonView.getTag();
                    ListedPuzzle obj = items.get(realPosition);
                    starListedPuzzle(obj.getId(), isChecked);
                }
            });

        }
        return v;

    }

Метод onCheckedChangedвызывается при возврате из другого действия без возможного взаимодействия с пользователем. на самом деле проверить что-нибудь.

Дело в том, что раньше все работало нормально и ничего особо не менялось. Я читал, что это ошибка, но не могу в это поверить.

Он всегда вызывает метод для одних и тех же двух элементов ListView. Можно ли как-то установить для них значение checkedChange=true?

5
задан Community 23 May 2017 в 11:44
поделиться