2012-06-04 2 views
2

내 목록보기의 특정 항목으로 이동하지만 표시하지 않고 표시 (표시)하고 싶습니다. 애니메이션은 필요 없지만 원하는 항목으로 즉각적으로 전송하고 싶습니다.smoothScrollToPosition을 사용하지 않고 Listview의 항목으로 이동

확인할 수있는 목록보기를 사용하고 있습니다 : mylistview.setChoiceMode(1).

나는 mylistview.setSelection(position)이 해결책이라는 것을 알았지 만, 그것을 사용할 때 아무런 일도 일어나지 않을 것입니다 (체크리스트 목록 일 가능성이 있습니다.).

mylistview.smoothScrollToPosition(position)을 사용할 때 제대로 작동하지만 원하지 않는 스크롤 애니메이션이 있습니다.

어떻게해야합니까?

감사합니다.

+0

이 비슷한 질문으로, 어쩌면 당신을 도와줍니다 : http://stackoverflow.com/questions/1446373/android-listview-setselection-do-not-work-to-work – Chopin

+0

답변 해 주셔서 감사합니다. 나는 antew 해결책으로 갈 것이라고 생각한다. – Jecimi

답변

8

이 밖으로 시도 :

myListView.post(new Runnable() 
    { 
     @Override 
     public void run() 
     { 
      myListView.setSelection(pos); 
      View v = myListView.getChildAt(pos); 
      if (v != null) 
      { 
       v.requestFocus(); 
      } 
     } 
    }); 

을이 구글 개발자 목록 응답에서 로맹 가이 Link

+1

이것은 괜찮은 해결책이지만 'smoothScrollToPosition()'과 같이 동작하지 않습니다 (스크롤의 애니메이션에 대해 이야기하는 것이 아니라 목록보기가 표시된 항목으로 이동하는 방식입니다. 왜냐하면 선택한 항목이 항상 첫 번째이고 그래서 listview는 항상 wierd로 보이는이 항목을 표시하기 위해 "점프"합니다. 그러나 나는 그것을 처리 할 수있을 것이라고 생각하며 이것이 어쨌든 가장 빠른 해결책 인 것으로 보인다. 나는 그들이이 문제를 바로 잡기를 바란다. 귀하의 답변에 감사드립니다. – Jecimi

관련 문제