Android简单的Fragment嵌套Fragment(Viewpager+Fragement)

本文介绍了一个Android项目中如何实现Fragment的嵌套,主要代码展示在MainActivity和MoreFragment中,通过FragmentTransaction进行操作。文章还强调了在MoreFragment中获取子Fragment管理器的关键方法getChildFragmentManager()。提供了项目源码下载链接和运行效果截图。
摘要由CSDN通过智能技术生成

我的项目目录如下:
这里写图片描述
直接上核心代码
MainActivity
import android.support.v4.app.FragmentTransaction;
import android.graphics.Color;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.example.fragmentlayout.Fragment.MainFragment;
import com.example.fragmentlayout.Fragment.MineFragment;
import com.example.fragmentlayout.Fragment.MoreFragment;

public class MainActivity extends FragmentActivity implements View.OnClickListener {
private TextView main_textview,more_textview,mine_textview;
private ImageView main_imageview,more_imageview,mine_imageview;
private RelativeLayout main_layout,more_layout,mine_layout;
private Fragment mainFragment,moreFragment,mineFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);//删除自带标题栏(如果继承AppCompatActivity,不起效果,所以继承FragmentActivity)
    setContentView(R.layout.activity_main);
    initView();
    setSelect(0);//显示第一个Fragment (0代表mainFragment,1代表moreFragment,2代表mineFragment);
}

private void initView() {
    main_imageview=(ImageView)findViewById(R.id.main_iamgeview);
    more_imageview=(ImageView)findViewById(R.id.more_iamgeview);
    mine_imageview=(ImageView)findViewById(R.id.mine_iamgeview);

    main_textview=(TextView)findViewById(R.id.main_textview);
    more_textview=(TextView)findViewById(R.id.more_textview);
    mine_textview=(TextView)findViewById(R.id.mine_textview);

    main_layout=(RelativeLayout)findViewById(R.id.main_layout);
    more_layout=(RelativeLayout)findViewById(R.id.more_layout);
    mine_layout=(RelativeLayout)findViewById(R.id.mine_layout);

    main_layout.setOnClickListener(this);
    more_layout.setOnClickListener(this);
    mine_layout.setOnClickListener(this);

}

private void setSelect(int i) {
    FragmentManager fm=getSupportFragmentManager();
    FragmentTransaction transaction=fm.beginTransaction();
    hideFragment(transaction);
    switch (i){
        case 0:
            if(mainFragment==null){
                mainFragment=new MainFragment();
                transaction.add(R.id.fragment,mainFragment);
            }else {
                transaction.show(mainFragment);
            }
            break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值