我有一个带有 2 个选项卡的 TabActivity,其中包含一个响应 Scale 和 Scroll 事件的控件。
当我启动我的应用程序时,它从 Tab 1 开始,我可以缩放和滚动第一个 Tab 活动中显示的视图。
当我再次切换到选项卡 2 时,我可以缩放和滚动第二个选项卡活动中显示的视图。
一切看起来都不错。
当我突然切换回第一个选项卡时,我无法再缩放或滚动。如果我再次切换回第二个,那么那个工作正常。就好像触摸焦点被第二个选项卡上的视图所占据,并且从未被放弃。
我什至尝试过重新初始化我的 GestureDetectors,以防当一个 Activity 进入后台时它们以某种方式被破坏。
我试过以下代码无济于事:
public void onPause()
{
super.onPause();
mView.clearFocus();
}
public void onResume()
{
super.onResume();
mView.requestFocus();
mView.InitGestureDetectors( this );
}
InitGestureDetectors 只需执行以下操作:
public void InitGestureDetectors( Context ctx )
{
mScaleGestureDetector = new ScaleGestureDetector( ctx, new ScaleGestureListener() );
mGestureDetector = new GestureDetector( ctx, new GestureListener() );
}
当我随后切换标签时,谁能告诉我如何让我的触摸手势再次工作?