错误的片段接收onLongPress监听器

时间:2014-07-04 07:49:06

标签: android android-fragments android-viewpager

我在ViewPager里面动态插入Fragment,目前我使用的是Fragment,然后我将ViewPager插入for使用Fragment循环。

GestureListener内我有一个@Override public void onLongPress(MotionEvent event) { Log.e("ID AND STATE", String.format("%s %s", ID, mState)); if (mState == 4) homeActivity.openContextMenu(mLayout); else if (mState == 8) showDialog(); else if (mState == 5) showDialog(); else if (mState == 1) showDialog(); else if (mState == 2) showDialog(); } 我在其中捕捉用户​​的各种触摸事件,其中一个是onLongPress

mState

根据ContextMenu的值,我想用文字显示Dialog或某些ID,但这种情况并未发生;相反,当我长按某些mState时,我会收到错误的FragmentID值,通常mStateFragment值来自邻居{{1} }}

我尝试使用getUserVisibleHint()无效,我已将其包含在各个级别中以查看它是否有任何效果,但它没有。

这里有什么问题,如何解决?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,我在onTouch的{​​{1}}中设置了onCreateView监听器,结果发现有一个名为Fragment的神秘方法从未在官方的Android文档好像我们应该自己发现它一样;任何我必须在覆盖setUserVisibleHint的内部调用我的onTouch,代码如下......

setUserVisibleHint