2010-12-14 5 views
2

작동하지 않음에 setItemChecked : 그것은 지금까지 디버거가가는대로 작동ListActivities 내가 여기에이 코드가 onListItemClick가

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 
    if(l.isItemChecked(position)) 
     l.setItemChecked(position, false); 
    else 
     l.setItemChecked(position, true); 
    Toast.makeText(mContext, "Mission: " + ((TreeNode)l.getItemAtPosition(position)).getTitle(), Toast.LENGTH_LONG).show(); 

} 

을하지만, setItemChecked 결코 정말 그래픽으로 내가 확인란이 표시되지 않는 두 항목을 설정 것 같다 나타나는 다음 isItemChecked 통해 다음 클릭에 여전히 false를 반환합니다.

내가 뭘 잘못하고 있는지 확실하지 않니?

답변

0

목록의 어댑터를 새로 고쳤습니까?

l.getAdapter().notifyDataSetChanged(); 
+0

내가 사용할 수있는 유일한 방법은 getAdapter()이다. notifyAll(); onListItemClick 메서드의 맨 아래에 스레드를 추가하려고하면 해당 스레드 또는 잠긴 항목에 대해 불만이 생깁니 까? – Codejoy

+0

BaseAdapter 등의 맞춤형 어댑터에 어댑터를 캐스팅해야합니다. –

1

그냥 ..... 메이크업 안드로이드를 시도 : 당신이 CHOICE_MODE_MULTIPLE에 ListView에 Adapter을 설정하면 포커스 = "false"설정은 상자

0

을 확인하고 Checkable 인터페이스를 구현하는 것이 확인란에보기, 당신 직접 체크 박스를 전환 할 필요가 없다.

관련 문제