早上好,我有一个列表视图,我想使用ArrayAdapter填充字符串值,除了开始启动时我已经完成了所有这些工作,我需要选择“当前选定的项目”并突出显示>
listview先前在onCreateView中处理,并且不为null,并且currentPos为3(stateNames列表目前为7)
adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_list_item_1, stateNames);
listView.setAdapter(adapter);
if (selectedState != null) {
listView.setItemChecked(currentPos, true);
adapter.notifyDataSetChanged();
}
这也是列表视图的onItemClick侦听器
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (selectedState == null || !customStates.get(position).getCustomStateID().equals(selectedState.getCustomStateID())) {
selectedState = customStates.get(position);
}else{
listView.clearChoices();
selectedState = null;
}
adapter.notifyDataSetChanged();
}
});
因此,如果未选择任何内容或未选择其他任何内容,请继续并选择新项目,否则清除选择并取消突出显示所有内容
但是,当我加载片段时,它具有选定的值但未突出显示,而当我第二次单击时,该项目未被选择但仍突出显示。
有人知道我缺少什么来“刷新”单元格上的突出显示吗?
谢谢。