欢迎使用CSDN-markdown编辑器

来源:互联网 发布:linux命令记录日志 编辑:程序博客网 时间:2024/06/17 16:10

1:生命周期
这里写图片描述
2:静态

package com.itheima.wx;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;import com.itheima.life.R;public class MainActivity extends Activity implements OnClickListener {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // [1]找到按钮        Button btn_wx = (Button) findViewById(R.id.btn_wx);        Button btn_contact = (Button) findViewById(R.id.btn_contact);        Button btn_disconver = (Button) findViewById(R.id.btn_disconver);        Button btn_me = (Button) findViewById(R.id.btn_me);        // [2]设置点击事件        btn_wx.setOnClickListener(this);        btn_disconver.setOnClickListener(this);        btn_me.setOnClickListener(this);        btn_contact.setOnClickListener(this);    }    @Override    public void onClick(View v) {        //[4]获取Fragment的管理者         FragmentManager fragmentManager = getFragmentManager();        FragmentTransaction beginTransaction = fragmentManager.beginTransaction();        // 具体判断点击的是哪个按钮        switch (v.getId()) {        case R.id.btn_wx: // 点击的是微信            beginTransaction.replace(R.id.ll_layout, new WxFragment());            break;        case R.id.btn_contact: // 点击的是联系人            beginTransaction.replace(R.id.ll_layout, new ContactFragment());            break;        case R.id.btn_disconver: // 点击的发现            beginTransaction.replace(R.id.ll_layout, new DiscoverFragment());            break;        case R.id.btn_me: // 点击的是我            beginTransaction.replace(R.id.ll_layout, new MeFragment());            break;        }        //记得comment         beginTransaction.commit();    }}
package com.itheima.wx;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import com.itheima.life.R;public class ContactFragment extends Fragment {    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.frgment_contact, null);        return view;    }}

3:动态

package com.itheima.communication;import android.os.Bundle;import android.app.Activity;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.view.Menu;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //[1]获取fragment管理者         FragmentManager fragmentManager = getFragmentManager();        //[2]开启一个事物        FragmentTransaction beginTransaction = fragmentManager.beginTransaction();        //[2.1]替换fragment        beginTransaction.replace(R.id.ll1, new Fragment1(),"f1");        beginTransaction.replace(R.id.ll2, new Fragment2(),"f2");        //[3]开启事物        beginTransaction.commit();    }}
package com.itheima.communication;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Toast;//定义Fragment 理解为 是Activity的一部分public class Fragment1 extends Fragment {    //当系统第一次画ui的时候调用   通过这个方法方法可以让Fragment显示自己的布局内容    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceState) {        //通过打气筒把一个布局转换成一个View对象        View view = inflater.inflate(R.layout.fragment1, null);        //[1]找到按钮 设置点击事件         view.findViewById(R.id.btn_update).setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                //[2]修改fragment2里面的内容  通过fragment的公共桥梁 --->activity                Fragment2 fragment2 =  (Fragment2) getActivity().getFragmentManager().findFragmentByTag("f2");                fragment2.updateText("哈哈哈呵呵");            }        });        return view;    }}
package com.itheima.communication;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;public class Fragment2 extends Fragment {    private TextView tv_content;    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment2, null);        //[1]找到tv        tv_content = (TextView) view.findViewById(R.id.tv_content);        return view;    }    //修改textview的内容    public void updateText(String content){        tv_content.setText(content);    }}