欢迎使用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); }}
阅读全文
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 支持向量机SVM(一)
- 透明度对应安卓16进制数字
- 学习Java多线程与并发编程后的笔记
- GreenDao使用
- 微信小程序报错.wxss无法找到
- 欢迎使用CSDN-markdown编辑器
- MVP登录注册跳转
- UCOSII-OSInit( )注解
- 关于微信的外链
- 重装win7系统显示:无法安装在gpt硬盘上
- 仿探探卡片滑动效果
- HDFS_镜像文件
- Linux netstat命令详解
- 当外面是数组的时候,解析的3中方法