fragment与回退栈back stack
来源:互联网 发布:淘宝店铺怎么增加访客 编辑:程序博客网 时间:2024/05/30 13:43
fragment与回退栈back stack
作用:因在同一ViewGroup中显示多个Fragment,因此需要回退到上一次的Fragment时,需要回退栈
FragmentTransaction.addToBackStack(String name) 将当前的Fragment增加到回退栈中
实例
逻辑代码--MainActivity
package com.example.week3_day2_fragment_backstack;import android.os.Bundle;import android.annotation.SuppressLint;import android.app.Activity;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener {private Button btn1;private Button btn2;private Button btn3;private Button btn4;private FragmentManager manager;@SuppressLint("NewApi")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn1 = (Button) findViewById(R.id.btn1);btn2 = (Button) findViewById(R.id.btn2);btn3 = (Button) findViewById(R.id.btn3);btn4 = (Button) findViewById(R.id.btn4);// 注册监听器btn1.setOnClickListener(this);btn2.setOnClickListener(this);btn3.setOnClickListener(this);btn4.setOnClickListener(this);manager = getFragmentManager();FragmentTransaction transaction = manager.beginTransaction();transaction.add(R.id.ld, new Fragment1());transaction.commit();}// 实现监听器中的方法@SuppressLint("NewApi")public void onClick(View v) {FragmentTransaction transaction = manager.beginTransaction();switch (v.getId()) {case R.id.btn1:transaction.replace(R.id.ld, new Fragment1());break;case R.id.btn2:transaction.replace(R.id.ld, new Fragment2());break;case R.id.btn3:transaction.replace(R.id.ld, new Fragment3());break;case R.id.btn4:transaction.replace(R.id.ld, new Fragment4());break;default:break;}//将Fragment保存到回退栈中 参数Tag 标记 如果没有的话 nulltransaction.addToBackStack(null);transaction.commit();}}逻辑代码--fragment1
package com.example.week3_day2_fragment_backstack;import android.annotation.SuppressLint;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;@SuppressLint("NewApi") public class Fragment1 extends Fragment{@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment1, container,false);return view;}}fragment2,fragment3,fragment4与fragment1一致,分别加载fragment2,fragment3,fragment4
布局文件--main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <LinearLayout android:id="@+id/ld1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="青春" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="校园" /> <Button android:id="@+id/btn3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="旅行" /> <Button android:id="@+id/btn4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="音乐" /> </LinearLayout> <LinearLayout android:id="@+id/ld" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > </LinearLayout></LinearLayout>布局文件--fragment1
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="青春" /></LinearLayout>布局文件-fragment2,fragment3,fragment4与fragment1一致
0 0
- fragment与回退栈back stack
- Task与Back stack
- Back Stack与Activity
- android task与back stack
- Android--Task与Back Stack
- Android 复习_Task 与 Back Stack
- android task与back stack 开发文档翻译 - 1
- android task与back stack 开发文档翻译 - 2
- android task与back stack 开发文档翻译 - 3
- Android任务与返回堆栈 (Tasks and Back Stack)
- android中task概念和与back stack的联系
- Task and Back Stack
- Tasks and Back Stack
- Tasks and Back Stack
- Tasks and Back Stack
- Tasks and Back Stack
- Task和Back Stack
- Task and Back Stack
- 第二章 核心动画渲染框架
- HDU 1045
- HTML Cheatsheet
- 实施dba用到有水平的41条sql语句
- UITableViewCell 消除右侧辅助视图区域空白
- fragment与回退栈back stack
- Unity3D第三人称无锁定视角实现
- 关于实施dba的20个常用案例及11个不要
- 揭秘阿里服务互联网金融的关系数据库——OceanBase
- Compare Version Numbers
- caffe示例实现之5用CaffeNet训练与测试自己的数据集
- Future与Promise
- Android error 之 Syntax error, insert ";" to complete Local Variable Declaration Statement
- lintcode-数组剔除元素后的乘积-50