2013-02-25 26 views
12

Ben Bir scrollview Etkinliğinizde (scrollview tüm içerik) ...Kaydırma görünümünde liste görünümünde nasıl çalışır?

Ve İkinci olarak, biri var

... Android 1.6 ve 2.2 yılında bunu ListView Aktivite .... içinde ben ListView ilerleyin, o zaman scrollview kaydırma

ama ListView Kaydırma kimse bu çözümünü varsa, o ...

paylaşır mısınız ben sorunu ben ait Scatch sağlamak

... ...

çalışmıyor

enter image description here

+0

Romain Guy (Android mühendisi) [önerdi] (http://stackoverflow.com/a/3496042/1521536) '. Bu soru, bu sorunun cevabının da bir kopyası gibi görünüyor. –

+0

olası bir kopyası [ScrollView içine bir ListView'i nasıl daraltmadan nasıl ekleyebilirim?] (Http://stackoverflow.com/questions/3495890/how-can-i-put-a-listview-into-a-scrollview- olmadan daraltmadan) –

cevap

33

burada parentScroll = ana Scrollview ve childScroll = Lütfen listview

Eğer *** değil *** bir `scrollview içine kaydırılabilir görünüm kullanmanız gerekir
parentScroll.setOnTouchListener(new View.OnTouchListener() { 

       public boolean onTouch(View v, MotionEvent event) { 
        Log.v("PARENT", "PARENT TOUCH"); 
        findViewById(R.id.child_scroll).getParent() 
          .requestDisallowInterceptTouchEvent(false); 
        return false; 
       } 
      }); 

    childScroll.setOnTouchListener(new View.OnTouchListener() { 

       public boolean onTouch(View v, MotionEvent event) { 
        Log.v("CHILD", "CHILD TOUCH"); 
        // Disallow the touch request for parent scroll on touch of 
        // child view 
        v.getParent().requestDisallowInterceptTouchEvent(true); 
        return false; 
       } 
      }); 
+0

WC:) ........... – kyogs

+0

@kyogs: Çok teşekkür ederim :) Benim için mükemmel çalışıyor. –

+0

Bir çekicilik gibi çalışır :) –

5
svView.setOnTouchListener(new 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; 
     } 
    }); 
İlgili konular