個人小小經驗,記錄一下, 先入為主的觀念以為要先跑
lstFolder.setItemChecked 再 lstFolder.setAdapter
但事際上, 這樣子setItemChecked 是沒作用的
for (int i = 0; i < folderItem.length; i++) {
if (ArrayUtils.contains(displayFolderItem, folderItem[i])) {
lstFolder.setItemChecked(i, true);
}
}
if (folderItem != null) {
lstFolder.setAdapter(new MyArrayAdapter(getActivity(),
android.R.layout.simple_list_item_multiple_choice,
android.R.id.text1, folderItem));
} else {
lstFolder.setAdapter(null);
lstFolder.setEmptyView(layout.findViewById(R.id.empty));
}
應該是把 lstFolder.setItemChecked(i, true);移到後面去才對
if (folderItem != null) {
lstFolder.setAdapter(new MyArrayAdapter(getActivity(),
android.R.layout.simple_list_item_multiple_choice,
android.R.id.text1, folderItem));
} else {
lstFolder.setAdapter(null);
lstFolder.setEmptyView(layout.findViewById(R.id.empty));
}
for (int i = 0; i < folderItem.length; i++) {
if (ArrayUtils.contains(displayFolderItem, folderItem[i])) {
lstFolder.setItemChecked(i, true);
}
}