对于我的主要活动,我想要切换大约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个代码。
答案 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 最诚挚的问候。