2014-01-07 2 views
0

문제가 발생하여이를 구현하는 방법을 알 수 없습니다. 내 선형 레이아웃 및 Listview 많은 컨트롤이 있습니다. 왜냐하면 내가 내 화면에서 많은 컨트롤 컨트롤을 가지고 있었기 때문에 나는 내 레이아웃에서 스크롤을 구현해야만했다.하지만 목록보기를 통해 얻은 후에 다시 화면에 스크롤을 할 수 있도록 스크롤을 가지고있다. 내 질문은 ListView 스크롤을 해제하고 사용자가 기본 scrollview에서 스크롤 할 수 있도록 화면에있는 모든 셀을 보는 방법입니다.ListView 스크롤 사용 안 함

도움이 될 것입니다.

답변

0

이것은 당신이 그것을하는 방법이다 :

ListView lv = (ListView)findViewById(R.id.list); // your listview inside scrollview 

lv.setOnTouchListener(new ListView.OnTouchListener(){ 
@Override 
public boolean onTouch(View v, MotionEvent event) 
{ 
    int action = event.getAction(); 
    switch (action) 
    { 
    case MotionEvent.ACTION_DOWN: 
     // Disallow ScrollView to intercept touch events. 
     v.getParent().requestDisallowInterceptTouchEvent(true); 
     break; 

    case MotionEvent.ACTION_UP: 
     // Allow ScrollView to intercept touch events. 
     v.getParent().requestDisallowInterceptTouchEvent(false); 
     break; 
    } 

    // Handle ListView touch events. 
    v.onTouchEvent(event); 
    return true; 
} 
}); 

가 정말있는 ScrollView에 ListView를 넣어 나쁜 관행이지만. 그것은 ListView의 목적을 무효화합니다.

+0

질문을 오해하지 않는 한 ... –

+0

나는 그것을 구현하고 시도해 보겠습니다! –

+0

실제로 listview는 여전히 스크롤 가능합니다 ... 위의 코드로 시도해 보았지만 여전히 동일합니다. 난 단지 내 레이아웃에있는 모든 listview enteries를보고 모든 레이아웃 (listview 셀 포함)을 스크롤하기 위해 높은 수준의 scrollview를 사용해야합니다. –

0
ListView lv; 
lv.canScrollVertically(0);