문제

각 행에 대한 확인란이 있는 레이아웃이 있는 목록 조각이 있는 활동이 있습니다.나는 onclick 확인란의 xml 속성을 설정하고 테스트를 위해 다음을 수행합니다.

public void onBoxClick(View v){
    checkedItems = listview.getCheckedItemPositions();
    int checkedItemsCount = checkedItems.size();

}

checkedItemsCount 돌아오다 0, 나는 당신이 사용하는 항목이 무엇인지 확인하려고 생각했습니다. listview.getCheckedItemPositions() 하지만 그렇지 않습니다. 목록에 무엇이 체크되어 있는지 어떻게 알 수 있나요?

이것은 내 목록 조각 생성입니다

@Override
    public void onActivityCreated(Bundle state){
        super.onActivityCreated(state);
        listview = getListView();
        listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        listview.setItemsCanFocus(false);
        setEmptyText("No Bowlers");       
        registerForContextMenu(getListView());
        populateList();
    }
도움이 되었습니까?

해결책 2

Custom Adapter의 bindView로 문제를 해결하고 ArrayList<Integer> 변수를 생성했습니다. 라코 디스

그리고 bindView에서 체크 박스가 체크되었는지 아닌지 확인하기 위해 체크 박스에 checkedchangelistener를 설정했습니다.확인되면 커서가있는 데이터베이스의 id를 mCheckedItems Array에 넣었습니다.

어댑터 : 라코 디스

ID가 배열에 삽입 된 후 배열 목록을 사용하여 필요한 방식으로 사용했습니다.

다른 팁

이것 우편 도움이 될 수도 있습니다.사용자 정의를 사용하여 솔루션을 제공합니다. ResourceCursorAdapter, 이는 CheckBox 그리고 TextView 각각 ListView 열.

여러 항목을 선택하려면 ListView, 이것을 확인하세요 페이지.이 예에서는 ListActivity 대신에 ListFragment, 하지만 코드는 매우 유사해집니다.다음을 구현했는지 확인하세요. Fragment 수명주기 방법을 올바르게(예:어댑터 설정 ListFragment'에스 onActivityCreated(), 등.).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top