【发布时间】:2017-08-25 06:24:47
【问题描述】:
我正在使用 Android Studio 创建一个使用 java 的应用程序,但我对它相当陌生,我的大部分经验是在 Visual Studio 中使用 C# 和 Winforms。
目前我有一个 ListView,里面有 CheckBoxes,我正在使用 ArrayAdapter 来同步列表。
ArrayList<String> items = new ArrayList<>();
items.add("Alpha");
items.add("Bravo");
items.add("Charlie");
items.add("Delta");
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.row_layout, R.id.chkText, items);
lv.setAdapter(adapter);
// Test
Toast.makeText(getApplicationContext(), "Count " + lv.getAdapter().getCount(), Toast.LENGTH_LONG).show();
for (int j = 1; j < lv.getAdapter().getCount(); j++)
{
CheckBox cb = (CheckBox) lv.getAdapter().getItem(j);
cb.setChecked(true);
}
getCount() 确实返回了正确的值,但应用程序在尝试选中这些框时会崩溃。对于这样一个简单的任务,我在网上找到的所有答案似乎都过于复杂了。例如,当应用程序加载时,是否有简单易用的方法可以选中“Bravo”和“Delta”复选框?
【问题讨论】:
-
lv.getAdapter()返回一个适配器,而不是一个复选框。 -
丢失了一部分,我的错,现在显示为:lv.getAdapter().getItem(j);
标签: java android listview checkbox