Android-碎片事务的add与hide

package com.example.thirdweek;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends FragmentActivity {

private Fragment myMusic;
private Fragment downLoad;
private Fragment mine;

private Fragment currentFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// 获取控件
Button btnMyMusic = (Button) findViewById(R.id.btn_my_music);
Button btnDownLoad = (Button) findViewById(R.id.btn_download);
Button btnMine = (Button) findViewById(R.id.btn_mine);

btnMyMusic.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if(myMusic == null){
myMusic = new MyMusic();
}
JumpFragment(myMusic,"music");
}
});

btnDownLoad.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if(downLoad == null){
downLoad = new DwonLoad();
}
JumpFragment(downLoad,"downLoad");
}
});

btnMine.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if(mine == null){
mine = new Mine();
}
JumpFragment(mine,"mine");
}
});

}

private void JumpFragment(Fragment fragment, String tab) {
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction action = manager.beginTransaction();
if (!fragment.isAdded()) {
action.add(R.id.fm, fragment);
}
if (currentFragment != null) {
action.hide(currentFragment);
}
action.show(fragment);
// 添加到回收栈
action.addToBackStack(tab);
action.commit();
currentFragment = fragment;
}

}

//建造多个数据库需要

db.execSQL("drop if table exists t_user");

时间: 2024-12-29 01:11:56

Android-碎片事务的add与hide的相关文章

Android -- Sqlite事务

这也是通过Android Juint来实现的. 基于上一次的工程继续,上一次工程传送门:<Android–Android Juint 与 Sqlite> http://www.cnblogs.com/yydcdut/p/3790579.html 更新数据库                                                                                    public PersonSQLite(Context context)

Android碎片化的处理

产生碎片化的原因: 1.屏幕尺寸   small   normal   large   xlarge  xxlarge 2.屏幕分辨率 3.横纵屏幕 4.系统版本 碎片的解决: 1.dp/sp 系统未我们提供了可以规避部分碎片化的单位 2.针对不同的版本 系统提供android-support-v4包,可以让低版本的系统实现高版本的功能 引用外部的开源项目 3.解决横纵屏 步骤: 创建一个xml布局文件,文件名要相同,对应的控件的id也要相同 Resource type--->Layout---

Android 内部API (com.android.internal)和隐藏API(@hide)概述

内部API和隐藏代码的例子 在翻阅Android源码的时候有时会遇到一些奇怪的代码,例如下面这个: //注:这段代码在源码android/provider/Telephony.java中. import android.util.Patterns; import com.android.internal.telephony.SmsApplication; import java.util.HashSet; //-- 还有这种(下面这段摘自同一文件):         /**          *

Fragment 使用add 和 hide 生命周期

1.先add两个Fragment ,然后立马hide这两个Fragment ,再然后显示其中一个Fragment //先add FragmentTransaction beginTransaction = getFragmentManager().beginTransaction(); videoFragment = new NewSDAndCloudVideoFragment(NewSDAndCloudVideoFragment.SRC_FROM_PLATFORM); sdFragment =

Android碎片Fragment总结

一.Fragment的相关概念 (一)Fragment的基础知识 Fragment是Android3.0新增的概念,中文意思是碎片,它与Activity十分相似,用来在一个 Activity中描述一些行为或一部分用户界面.使用多个Fragment可以在一个单独的Activity中建 立多个UI面板,也可以在多个Activity中使用Fragment. Fragment拥有自己的生命 周期和接收.处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了.更为 重要的是,你可以动态的

Android碎片:Fragment

Fragment的作用: Fragment的产生其实是谷歌为了解决手机端和平板端软件开发的问题,在Fragment出来之前开发安卓软件如果要同时运行在pad和手机上就得开发两个软件,有了碎片也就是Fragment之后只要开发一个软件就可以适应pad和手机,不受屏幕大小的影响.而且Fragment有自己生命周期使用起来超级方便,逻辑处理可以直接在Fragment里面处理好,然后在Activity中有需要的地方引用这个Fragment就行了 Fragment有android.support.v4.a

android:碎片的生命周期

和活动一样,碎片也有自己的生命周期,并且它和活动的生命周期实在是太像了,我相 信你很快就能学会,下面我们马上就来看一下. 4.3.1    碎片的状态和回调 还记得每个活动在其生命周期内可能会有哪几种状态吗?没错,一共有运行状态.暂停 状态.停止状态和销毁状态这四种.类似地,每个碎片在其生命周期内也可能会经历这几种 状态,只不过在一些细小的地方会有部分区别. 1.    运行状态 当一个碎片是可见的,并且它所关联的活动正处于运行状态时,该碎片也处于运行 状态. 2.    暂停状态 当一个活动进

android学习八(android碎片fragment的使用)

碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用屏幕的空间.首先建立一个平板的模拟器1034*600,环境使用android4.2.2.在建立一个android的项目,项目名为FragmentTest. 碎片的简单使用 新建一个左侧碎片布局left_fragment.xml代码如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr

android: 碎片的demo

现在你已经将关于碎片的重要知识点都掌握得差不多了,不过在灵活运用方面可能还有 些欠缺,因此又该进入我们本章的最佳实践环节了. 前面有提到过,碎片很多时候都是在平板开发当中使用的,主要是为了解决屏幕空间不 能充分利用的问题.那是不是就表明,我们开发的程序都需要提供一个手机版和一个 Pad 版 呢?确实有不少公司都是这么做的,但是这样会浪费很多的人力物力.因为维护两个版本的 代码成本很高,每当增加什么新功能时,需要在两份代码里各写一遍,每当发现一个 bug 时, 需要在两份代码里各修改一次.因此今天