【发布时间】:2011-08-18 20:27:23
【问题描述】:
我的活动中有两个片段。 Fragment2 与 Fragment1 重叠。而 Fragment1 占据了整个屏幕。当用户点击 Fragment1 我希望 Fragment2 消失。
我的问题是如何确定 Fragment1 被窃听了?
Fragment1 主要由一个 webview 组成,我认为我可以使用它的 setOnTouchListener 但它似乎从未被调用过。
任何建议将不胜感激。
布拉德利4
这就是我实现 onTouchListener 的方式:
1) 首先我实现了“OnTouchListener”
public class Frag_ItemDetail extends Fragment implements OnTouchListener {
2) 然后我覆盖了 onTouch
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("myclass", "onTouch");
return false;
}
3) 然后我将 setOnTouchListener 设置为我的 webview
WebView itemFullDescription = (WebView) v.findViewById(R.id.itemFullDescription);
WebView.setOnTouchListener(this);
我在一个按钮上设置了 onTouchListenerner,它工作正常。它只是不适用于 webview。
【问题讨论】:
-
我已经发布了一些代码 sn-ps。我现在要在活动级别尝试一些东西,希望我能有更好的运气。
-
我使用 onInterceptTouchEvent() 代替它与 WevViews 配合得很好。
-
用 Fragment 注册一个触摸监听器我相信没有效果,你应该定位根视图/布局,见stackoverflow.com/questions/12469651/…