У меня есть 2 проблемы.Проблема с проверкой всех флажков
1-я проблема.
У меня есть элемент CheckedTextView «Выбрать все» и список элементов массива, установленных в адаптере MutipleChoice. В настоящее время я пытаюсь установить состояние всех флажков элементов массива в true/false, выбрав CheckedTextView. Он работает, но есть ошибка. Таким образом, когда последний элемент массива имеет значение true, «SelectAll» в true будет работать, но если последний элемент массива имеет значение false, он отключит все элементы. То, что я хочу, даже если какое-либо из состояния элемента является ложным, будет установлено значение true, когда checkedtextview будет выбрано значение true.
Вторая проблема.
Кажется, я не могу установить checktextview в true, когда все состояние элемента массива истинно.
Может быть, я делаю это неправильно? Помощь дал бы оценил ..
Это мой метод для CheckedTextView «Select All»
private void markAll (Boolean state) {
for (int i = 0; i < lv.getCount(); i++) {
lv.setItemChecked(i, state);
}
}
Это кодирование для проверки состояний элементов массива
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
for(int i = 0; i < lv.getCount(); i++) {
//if even 1 of the item is false, the checkedtextview will be set to false
if(lv.isItemChecked(i) == false) {
ctv.setChecked(false);
}
//if all of the item is true, the checkedtextview will be set to true as well
//the coding should be done in the if-else below, if i'm not wrong
if(...) {
}
}
}
EDIT
Это новый код для вызова моего метода ctv.setOnClickListener (новый View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
ctv.setClickable(true);
if(ctv.isPressed() && ctv.isChecked() == false) {
ctv.setChecked(true);
markAll(true);
}
else {
ctv.setChecked(false);
markAll(false);
}
}
});
Это мой XML-код checkedtextview
<CheckedTextView
android:id="@+id/checkedtext"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:text="Select all"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:clickable="true"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:paddingLeft="6dip"
android:paddingRight="6dip"/>
Вау! Быстрый ответ. И ... СПАСИБО ЭТО РАБОТАЕТ !!! Я не думал о том, чтобы добавить разрыв, и считая, что ctv верно 1-й. Большое спасибо человеку ^^. И можно ли задать другой вопрос? О CheckedTextView также .. –
Конечно, вы можете :) Но вы, возможно, должны создать другой вопрос, а не добавлять к нему, если проблема может быть автономной сама по себе. Тогда другие могли видеть это более четко. – antonyt
Хмм хорошо спасибо ^^ –