展会信息港展会大全

android开发之fragment一处理Fragment事务
来源:互联网   发布日期:2015-09-29 10:56:17   浏览:2066次  

导读: Fragment事务指的是Activity中对应的Fragment的添加、移动、删除的操作。处理Fragment事务用FragmentTransaction,这个类有FragmentManager打开得到。代码如下 主Activity代码package com example fragmen ...

Fragment事务指的是Activity中对应的Fragment的添加、移动、删除的操作。处理Fragment事务用FragmentTransaction,这个类有FragmentManager打开得到。代码如下

主Activity代码

package com.example.fragment3_manage;

import android.os.Bundle;

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;

/**

* @author sea

* Fragment的manager的使用

* Fragment的事物的处理:可以对fragment进行添加,移除,替换

* 1、新增加事务

* 2、将事务加到后台堆栈

* 3、提交事务

*

*/

public class MainActivity extends Activity implements OnClickListener {

private Fragment1 fragment1;

private Fragment2 fragment2;

private Fragment3 fragment3;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button button1 = (Button) findViewById(R.id.button1);

Button button2 = (Button) findViewById(R.id.button2);

Button button3 = (Button) findViewById(R.id.button3);

Button button4 = (Button) findViewById(R.id.button4);

//new3个不同的Fragment

fragment1 = new Fragment1();

fragment2 = new Fragment2();

fragment3 = new Fragment3();

button1.setOnClickListener(this);

button2.setOnClickListener(this);

button3.setOnClickListener(this);

button4.setOnClickListener(this);

}

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction transaction = fragmentManager.beginTransaction();

switch (arg0.getId()) {

case R.id.button1:

//新增加事务

transaction.replace(R.id.ly_fragment_container, fragment1);

//将Fragment的事务添加到后台堆栈中,让Activity记住发生了什么,效果就是点击后退按钮能退出当前Fragment

transaction.addToBackStack(null);

//提交事务

transaction.commit();

break;

case R.id.button2:

transaction.replace(R.id.ly_fragment_container, fragment2);

transaction.addToBackStack("fragment2");

transaction.commit();

break;

case R.id.button3:

transaction.replace(R.id.ly_fragment_container, fragment3);

transaction.addToBackStack(null);

transaction.commit();

break;

case R.id.button4:

transaction.remove(fragment3);

transaction.addToBackStack("removefragment3");

transaction.commit();

break;

default:

break;

}

}

}

赞助本站

人工智能实验室

相关热词: fragment Fragment事务 android

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港