Android 单击片段调用后面的片段
我的android应用程序有一个非常奇怪的问题。该应用程序包含多个片段,其中一个由surfaceView组成。大多数情况下,使用surfaceview更改片段效果良好,但有时更换不成功。然后,如果我触摸表面查看,后面的片段将接收touchevents,而不是实际片段 但这只是偶尔发生,并非总是。所以我很难找到原因。 有没有人已经有同样或类似的问题 为了替换片段,我使用以下代码:Android 单击片段调用后面的片段,android,android-fragments,surfaceview,Android,Android Fragments,Surfaceview,我的android应用程序有一个非常奇怪的问题。该应用程序包含多个片段,其中一个由surfaceView组成。大多数情况下,使用surfaceview更改片段效果良好,但有时更换不成功。然后,如果我触摸表面查看,后面的片段将接收touchevents,而不是实际片段 但这只是偶尔发生,并非总是。所以我很难找到原因。 有没有人已经有同样或类似的问题 为了替换片段,我使用以下代码: Fragment fragment = new Fragment(); fragment.setArguments(b
Fragment fragment = new Fragment();
fragment.setArguments(bundle);
ft.replace(R.id.frame_container, fragment).addToBackStack(null).commit();
听起来您的表面视图没有被告知对触摸事件做出响应 尝试使用android:clickable=true或setClickabletrue使其可点击。这将防止触摸事件通过曲面视图传递到下面的片段 我使用的另一个技巧是,对于不需要对触摸做出响应但确实需要防止事件通过它们的视图,添加触摸侦听器并吃掉事件:
surfaceView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true; // true means the event has been processed
}
});
我只是再次寻找原因,但我找不到。但问题不在于表面观!有时候,整个片段不会对touchevents做出反应,但它背后的片段!