如何使用OnTouchListener切换片段

时间:2014-07-20 07:08:18

标签: android android-fragments ontouchlistener

对于我的主要活动,我想要切换大约12个片段。对于第一个,我试图在整个屏幕上使用OnTouchListener来切换视图。我目前正在尝试创建一个界面,这样当我点击此片段中的屏幕时,主要活动将实现代码切换到不同的视图。这就是我到目前为止所做的:

public class suggestedfriends extends Fragment{
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
          Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.search,
            container, false);
        view.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub
                return true;
            }
        });
        return view;
      }

    public interface OnItemSelectedListener{
        public void switchfirstscreen();
    }
}

非常感谢对这个最简单的片段的帮助,因为它将帮助我实现剩下的11个代码。

1 个答案:

答案 0 :(得分:0)

您可以实现一个方法,将Fragment实例作为参数接收并进行片段事务。

public void changeFragment(Fragment fragment){
    if(null != fragment){
        FragmentTransaction ft = getActivity().getFragmentManager().beginTransaction();
        ft.replace(R.id.container, fragment);
        ft.addToBackStack(null);
        ft.commit();
    }
}

因此,在onTouch方法调用中,您可以执行以下操作:

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            changeFragment(new MyFragment);
            return true;
        }

希望它有所帮助。

另请阅读:Fragments 最诚挚的问候。