2013-02-25 3 views
12

私はワンScrollView活動中(ScrollViewのすべてのコンテンツ)...スクロールビュー内でlistviewを使用すると、どのように作業するのですか?

そして第二には、一つは持って

... のAndroid 1.6および2.2でこれをやってListViewの活動....で私はListViewコントロールをスクロールすると、その時点でScrollViewがスクロールしている

けどリストビューのスクロールは、誰もがこれの解決策を持っている場合は、共有してください...私は私が持っている問題scatchを提供...

が動作していない...

enter image description here

+0

ロマン・ガイ(アンドロイドエンジニア)あなたが*** *** 'ScrollView内のスクロール可能なビューを使用してはならないこと(http://stackoverflow.com/a/3496042/1521536)[提案] '。この質問はその答えの質問と重複しているようです。 –

+0

[ListViewを折りたたむことなくScrollViewに配置する方法は?](http://stackoverflow.com/questions/3495890/how-can-i-put-a-listview-into-a-scrollview- –

答えて

33

ここparentScroll =メインscrollview とchildScroll =あなたのリストビュー

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:ありがとうございました:)私にとって完璧な作品です。 –

+0

魅力のように動作します:) –

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; 
     } 
    }); 
関連する問題