问题描述
在这里,我有工作正常一个setOnTouchListener一个ViewFlipper。然后我膨胀ReLayNewsItem,后来我把它添加到ViewFlipper。
Here I have a ViewFlipper with a setOnTouchListener that works fine. Then I inflate ReLayNewsItem and later I add it to ViewFlipper.
现在我想的WebView(网络)侦听触摸事件,并将它们传递到ViewFlipper。
Now I want WebView (web) to listen for touch events and pass them on to the ViewFlipper.
final ViewFlipper VFnewsFeed = new ViewFlipper(this);
VFnewsFeed.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetectorLR.onTouchEvent(event)) { return true; }
else { return true; }
}});
///////////////////
LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout ReLayNewsItem = (RelativeLayout) inflater.inflate(R.layout.newsitem, null);
final WebView web = (WebView)ReLayNewsItem.findViewById(R.id.NewsItemWv);
web.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
VFnewsFeed.dispatchTouchEvent(event); /// ERROR HERE!
return false;
}});
然而,它给了我这一点 -
Yet it gives me this -
07-14 21:12:43.600: E/AndroidRuntime(14048): FATAL EXCEPTION: main
07-14 21:12:43.600: E/AndroidRuntime(14048): java.lang.StackOverflowError
07-14 21:12:43.600: E/AndroidRuntime(14048): at life.iface.main$11.onTouch(main.java:1289)
07-14 21:12:43.600: E/AndroidRuntime(14048): at android.view.View.dispatchTouchEvent(View.java:4605)
07-14 21:12:43.600: E/AndroidRuntime(14048): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1518)
07-14 21:12:43.600: E/AndroidRuntime(14048): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1320)
...
任何想法?谢谢! ;)
Any ideas? Thanks! ;)
推荐答案
如果您返回假
这意味着该事件的未处理。
If you return false
it means that the event is unhandled.
根据您的需要尝试返回真正
或 VFnewsFeed.dispatchTouchEvent(事件)
在 onTouch
方法,而不是假
。
Depending on your needs try to return true
or VFnewsFeed.dispatchTouchEvent(event)
in onTouch
method instead of false
.
引用documentatnion
这篇关于Android的 - dispatchTouchEvent给我的StackOverflowError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!