android fragment切换标题,Android 包含-fragment 切换

之前讲过切换 Activity,也讲过多个 Fragment 左右滑动,不过那里讲的 fragment 滑动是利用模板,今天从纯手动的角度来讲一下 fragment 切换。

首先、建立一个 Activity、两个 Fragment

均包含代码文件和布局文件。

然后、在 Activity 的布局文件中放一个承载元素

这个承载元素,比如就是 LinearLayout,用以显示 Fragment 的内容。

另外我们再放两个按钮,点击按钮时切换 Fragment。

最后、在 Activity 中写切换代码public class MainActivity extends AppCompatActivity {

frag1 f1 = new frag1();

frag2 f2 = new frag2();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

button1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

FragmentManager fm = getFragmentManager();

FragmentTransaction ft = fm.beginTransaction();

ft.replace(R.id.container, f1, "");

ft.commit();

}

});

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

button2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

FragmentManager fm = getFragmentManager();

FragmentTransaction ft = fm.beginTransaction();

ft.replace(R.id.container, f2, "");

ft.commit();

}

});

}

}

上述代码中:container 为第二步中说的承载元素的 id;另外,new frag1()、new frag2()  可以改进一下,避免 Activity 加载的时候就初始化,不过最好不要每次 button 切换的时候都 new,因为这会导致原来 Fragment 中的状态(比如用户填写的内容)丢失。

有错误?

可能会遇到 ft.replace(R.id.container, f2, ""); 这里报第二个参数类型错误。

怎么解决呢?

我们进入 Fragment 这个代码页,将:

import android.support.v4.app.Fragment;

改为

import android.app.Fragment;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值