Пожалуйста, обратите внимание: все ниже от верхней части моей головы, я не могу проверить это прямо сейчас. Я проверю его позже, когда у меня появится шанс.
Я думаю, что вам нужно отслеживать, какие колонки, чтобы связать с каждым CheckBox ... Я предполагаю, что это что-то вроде этого:
Колонка: add1 => Checkbox: add1Text Колонка: add2 => Флажок: add2Text и т. Д. И т. Д.
В этом случае вам необходимо вручную отслеживать их, возможно, в массиве. Я бы предложил сделать класс Pair, который вы можете использовать. Я изменил класс от этой должности [A Java collection of value pairs? (tuples?)]
public class Pair<L,R> {
private final L left;
private final R right;
public Pair(L left, R right) {
this.left = left;
this.right = right;
}
public L getLeft() { return left; }
public R getRight() { return right; }
@Override
public int hashCode() { return left.hashCode()^right.hashCode(); }
@Override
public boolean equals(Object o) {
if (o == null) return false;
if (!(o instanceof Pair)) return false;
Pair pairo = (Pair) o;
return this.left.equals(pairo.getLeft()) &&
this.right.equals(pairo.getRight());
}
}
Теперь вам нужно сделать список (или аналогичный), содержащие пары, которые вы хотите.
List<Pair<CheckBox, String>> list = new ArrayList<Pair<CheckBox, String>>;
list.add(new Pair<CheckBox, String>((CheckBox) findViewById(R.id.add1), "add1");
list.add(new Pair<CheckBox, String>((CheckBox) findViewById(R.id.add2), "add2");
list.add(new Pair<CheckBox, String>((CheckBox) findViewById(R.id.add3), "add3");
и так далее, и так далее
Затем вы можете перебирать список, используя что-то вроде
foreach (Pair<CheckBox, String> item in list)
{
if (cursor.getString(cursor.getColumnIndex(item.getLeft()) == null)
{
item.getRight().setVisibility(View.GONE);
}
else
{
item.getRight().setText(cursor.getString(cursor.getColumnIndex(item.getLeft()));
}
}
был в надежду на что-то более компактное. Например: 'code'for (int i = 0; i
Я рассмотрю другой способ, которым вы можете это сделать в ближайшее время, но вам нужно будет хранить массив столбцов (если альтернативный метод, о котором я думаю, будет работать.) – joshhendo
У вас уже есть один для имен столбцов и для имени флажка. –