2013-04-08 47 views
1

在我的项目中,我使用ScrollView来显示产品清单,每个产品都有一个子产品。我正在使用realviewswitcher来显示子产品。直到这一切工作正常。问题是当我滚动scrollView它滚动良好。但使用realviewswitcher查看子产品(从左到右滑动的列表视图项)滚动视图允许获取滚动。我想从左向右滑动时禁用scrollView。滚动视图只有在我从上到下滑动时才能使用。如何启用viewSwitcher时禁用ScrollView中的滚动?

我尝试过使用自定义ScrollView.But但没有得到预期的结果。我也使用setEnabled(false)不使用它。是他们的其他解决方案吗?请告诉我知道

回答

2

try this

将禁用滚动,只要你想(垂直/水平)。 或者你可以试试这个:

实现setOnTouchListener在父滚动视图和孩子realviewswitcher这样的:

parentScrollView= (ScrollView) findViewById(R.id.parentScrollview); 
parentScrollView.setOnTouchListener(new View.OnTouchListener() { 

    public boolean onTouch(View v, MotionEvent event) { 
     // TODO Auto-generated method stub 
     //Log.v(TAG,"PARENT TOUCH"); 
     findViewById(R.id.childScrollView).getParent().requestDisallowInterceptTouchEvent(false); 
     return false; 
     } 
    }); 
childScrollView= (ScrollView) findViewById(R.id.childScrollView); 
childScrollView.setOnTouchListener(new View.OnTouchListener() { 

    public boolean onTouch(View v, MotionEvent event) { 
     // TODO Auto-generated method stub 
     //Log.v(TAG,"PARENT TOUCH"); 
     findViewById(R.id.childScrollView).getParent().requestDisallowInterceptTouchEvent(true); 
     return false; 
    } 
}); 
+0

它不工作。我没有两个滚动视图。我在Scrollview中有一个viewswitcher。 – Deepu 2013-04-08 09:24:20

+0

似乎完美的工作。应该得到绿色的复选标记 – 2014-08-19 21:08:47

相关问题