2016年5月14日 星期六

listView有時setItemChecked無作用的原因

個人小小經驗,記錄一下, 先入為主的觀念以為要先跑
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);
    }
}

  © Blogger templates Psi by Ourblogtemplates.com 2008

Back to TOP