Demo下载

MainActivity代码

import androidx.appcompat.app.AppCompatActivity;import androidx.fragment.app.Fragment;import androidx.fragment.app.FragmentActivity;import androidx.fragment.app.FragmentManager;import androidx.fragment.app.FragmentTransaction;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class MainActivity extends AppCompatActivity {    private Fragment1 fg1 =new Fragment1();    private Fragment2 fg2 = new Fragment2();    private TextView tv1;    private TextView tv2;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        SwithFragment(fg1,this,R.id.fg).commit();        findViewById(R.id.fg1).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                SwithFragment(fg1,MainActivity.this,R.id.fg).commit();            }        });        findViewById(R.id.fg2).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                SwithFragment(fg2,MainActivity.this,R.id.fg).commit();            }        });    }    Fragment cacheFragment;    public FragmentTransaction SwithFragment(Fragment fragment, FragmentActivity fma, int idResources){        FragmentManager fm= fma.getSupportFragmentManager();        FragmentTransaction transaction = fm.beginTransaction();        if (!fragment.isAdded()){//还没添加 Fragment            if (cacheFragment !=null){                transaction.hide(cacheFragment);            }            transaction.add(idResources,fragment,fragment.getClass().getName());        }else{//已经添加过了 Fragment            transaction.hide(cacheFragment).show(fragment);        }        cacheFragment =fragment;        return transaction;    }}

Fragment1 和 Fragment2 代码

package com.manggai.fragmentswith;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import androidx.annotation.NonNull;import androidx.annotation.Nullable;import androidx.fragment.app.Fragment;public class Fragment1 extends Fragment {    @Override    public void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);    }    @Nullable    @Override    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment1,container,false);        return view;    }}

fragment1.xml 和 fragment2.xml

<?xml version="1.0" encoding="utf-8"?>    

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>                                

更多相关文章

  1. android 反射解析xml文件成为java对象
  2. android实现异步下载过程
  3. Android之断点续传下载
  4. android 怎样用代码设置墙纸
  5. android:keyboardNavigationCluster
  6. Android(安卓)Studio打包时候报错:app:lintVitalRelease
  7. android典型代码系列(三十)------DES加密算法
  8. android 中Spinner与dialog的综合应用
  9. android之网络资源多线程下载

随机推荐

  1. [Android 数据库] Android数据库总结
  2. Android(安卓)studio 入门教程(案例)
  3. Android(安卓)java调用go语言,.go文件生成
  4. android菜单
  5. Android Property System | Android属性
  6. android 条形码的应用
  7. 程序猿214情人节专题----基于GitHub打造
  8. Android布局优化(一)LayoutInflate — 从布
  9. Android基础笔记(一)-快速入门
  10. 让android支持RTSP及live555分析