《拼图游戏》技术总结“五”Fragment管理
来源:互联网 发布:金刚256怎么编程 编辑:程序博客网 时间:2024/06/18 04:02
再这个案例中 再ActivityStart中加载了3个Fragment,所以这里就用到了Fragment的管理了
1.获取Fragment管理器 getSupportFragmentManager()
2.开启一个事务 .beginTransaction();
3. .add .replace
ActivityStart:
/** * 开始界面在他的R.id.content显示3个Fragment */public class ActivityStart extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.start); //获取Fragment 管理器 FragmentManager manager = getSupportFragmentManager(); //开启一个事务 FragmentTransaction mFragmentTransaction = manager.beginTransaction(); mFragmentTransaction.add(R.id.content, new FragmentStart());//默认显示开始Fragment mFragmentTransaction.commit(); }}FragmentStart:
/** * 1.开始游戏的界面 * 2.开始界面里又四个按钮 * 1) 新的游戏 ==> 选择游戏的Fragment * 2) 继续游戏 ==> 跳转到上次的“游戏界面” * 3) 排行榜 ==> 跳转到排行榜Fragment * 2) 退出游戏 ==> finish 掉当前页面 * */public class FragmentStart extends Fragment implements View.OnClickListener { private Button btNewGame; private Button btContinue; private Button bRank; private Button btQuit; //获取Fragment 管理器 FragmentManager manager; //开启一个事务 FragmentTransaction mFragmentTransaction; View mView; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { mView = inflater.inflate(R.layout.start_chose, null); initVariable(); initListener(); return mView; } void initListener() { btNewGame.setOnClickListener(this); btContinue.setOnClickListener(this); btQuit.setOnClickListener(this); bRank.setOnClickListener(this); } void initVariable() { //初始化变量 manager =getActivity().getSupportFragmentManager(); mFragmentTransaction = manager.beginTransaction(); // btNewGame = (Button) mView.findViewById(R.id.btNewGame); btContinue = (Button) mView.findViewById(R.id.btContinue); bRank = (Button) mView.findViewById(R.id.btRankingList); btQuit = (Button) mView.findViewById(R.id.btQuit); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btContinue: Log.i("==", "你点击了continue按钮"); Intent mIntent=new Intent(getActivity(), ActivityMain.class); ActivityMain.isContinue= true; startActivity(mIntent); getActivity().finish(); break; case R.id.btNewGame: mFragmentTransaction.replace(R.id.content,new FragmentNewGame() ); mFragmentTransaction.addToBackStack(null);//下个界面按返回键会跳到上个界面 mFragmentTransaction.commit();//提交事务 break; case R.id.btQuit: getActivity().finish(); break; case R.id.btRankingList: mFragmentTransaction.replace(R.id.content,new FragmentRank() ); mFragmentTransaction.addToBackStack(null); mFragmentTransaction.commit(); break; } }}
0 0
- 《拼图游戏》技术总结“五”Fragment管理
- 《拼图游戏》技术总结“一”
- 《拼图游戏》技术总结“六”
- 《拼图游戏》技术总结“二” PtView
- 《拼图游戏》技术总结“三”SQLite
- 《拼图游戏》技术总结“四”SharedPreferences
- 交通灯管理技术总结
- 拼图游戏
- 拼图游戏
- 拼图游戏
- 拼图游戏
- 拼图游戏
- 拼图游戏
- 拼图游戏
- 拼图游戏
- 拼图游戏
- 拼图游戏
- 拼图游戏
- Eclipse改Android包名完美解决方法
- android 填满手机磁盘空间方法
- 图像特征提取与检索技术-笔记二
- 数据结构——环形队列的原理(模拟环形队列)
- Unity3d读取文本文档中文不显示的问题
- 《拼图游戏》技术总结“五”Fragment管理
- 算法分析时的模型
- mysql异常com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded
- STL所有sort算法介绍
- logstash的conditional语句(if语句出错)
- Lua 教程-05
- Android SQList3,数据库的基本操作,增删查改
- JavaScript基于时间的动画算法
- windows下使用eclipse新建第一个django项目过程