下面的代码创建了一个ArrayAdapter
并且我改变了每个CheckedTextView
使用ListView.setItemChecked()
in的状态onResume()
。
这一切都很好。
有没有办法可以禁用(灰色)一些CheckedTextViews
?
我试过使用adapter.getView(position, null, listView)
, 虽然这会返回一个CheckedTextView
对象,但将其设置为setclickable(false)
不会做任何事情。我试过改变它的文本和改变状态,但它也没有做任何事情。
我怎样才能做到这一点?
以下是可以正常工作的代码:
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice,
getResources().getStringArray(R.array.mode_declarations_array));
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
String learningSettings = settings.getString(Constants.LEARNING_SETTINGS, null);
int count = adapter.getCount();
if (learningSettings != null ) {
String[] values = learningSettings.split(",");
for (int i = 0; i< values.length; i++) {
boolean val = Boolean.parseBoolean(values[i]);
listView.setItemChecked(i, val);
}
}else {
for (int i = 0; i<count; ++i) {
listView.setItemChecked(i, true);
}
}