2012-01-31 3 views
2

scrollview 안에 listview이 있는데, 문제는 scrollview이 스크롤되지만 listview은 스크롤하지 않는 것입니다. 나는 이것이 scrollView에 의한 것 같아요.android : scrollView 내의 listview가 작동하지 않습니까?

실무 솔루션을 보유한 누군가가 참조로 여기에 게시 할 수 있습니까?

+0

코드를 표시하십시오 ... –

+0

어떻게 ScrollView를 처음부터 스크롤 할 수 있습니까? –

+0

이것은 좋은 연습은 아니지만 가능한 경우보다 런타임시 listview에 높이를 주려고 시도하는 경우 적합하지 않습니다. 아래 링크 참조 - http://stackoverflow.com/questions/3495890/how-can-i-put-a-listview-into-a-scrollview-without-it-collapsing/3495908#3495908 – duggu

답변

4

ListView/모든 스크롤 가능한보기를 scrollView에 넣으면 화면을 터치 할 때 터치의 주요 초점이 하위보기 (ListView)가 아닌 부모보기 (scrollView)에 있기 때문에 제대로 작동하지 않습니다.

7

일반적으로 스크롤 가능한 것들을 같은 방향으로 스크롤하고 신뢰할 수있는 다른 스크롤 가능한 것들 안에 넣을 수 없습니다. 경우에 따라 이것이 작동하지만 (예 : ViewPagerWebViews) 예외는 아니며 표준이 아닙니다.

다음 중 하나를

  • 이 (가) ScrollViewListView, 또는

  • 이동 이동합니다 ListViewScrollView의 모든 내용 나머지 addHeaderView() 또는 내 MergeAdapter

    같은 것들을 사용 여부
5

ListView는 고정 h 팔은 아래에 XML에서 자바 파일에서

 <ListView android:id="@+id/lv" 
      android:listSelector="#0f0"    
      android:layout_width="fill_parent" 
      android:layout_height="500px" /> 

파일 된 setContentView (후 코드 아래 쓰기)

 lv = (ListView)findViewById(R.id.lv); 
     lv.setAdapter(your adapter here); // you have to add your adapter here    

     lv.setOnTouchListener(new ListView.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (event.getAction() == MotionEvent.ACTION_MOVE) 
       { 
        lv.scrollBy(0, 1); 
       } 
       return false; 
      } 
     }); 

은 코드에 이러한 변경 사항을 확인하고 테스트합니다. 너무 많은 실험 후에이 코드를 작성했습니다. 100 % 잘 작동합니다.

관련 문제