Fragement的基本用法
来源:互联网 发布:合肥百度关键词优化 编辑:程序博客网 时间:2024/05/07 00:22
FragementLifeActivity:
public class FragementLifeActivity extends AppCompatActivity {
private Button bt1, bt2, bt3, bt4;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fragement_life); Log.d("====Activity====", "onCreate"); final Fragment fragment = new LifeFragment(); getSupportFragmentManager() .beginTransaction() .replace(R.id.life_frame, fragment) .commit(); bt1 = (Button) findViewById(R.id.bt_remove); bt2 = (Button) findViewById(R.id.bt_replace); bt3 = (Button) findViewById(R.id.bt_hide); bt4 = (Button) findViewById(R.id.bt_show); bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (fragment != null) { getSupportFragmentManager().beginTransaction() .remove(fragment).commit(); } } }); bt2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (fragment != null) { Fragment fragment2 = new FirstFragment(); //设置参数 Bundle捆绑数据用 Bundle bundle=new Bundle(); bundle.putInt("channel",666); fragment2.setArguments(bundle); getSupportFragmentManager().beginTransaction() .replace(R.id.life_frame, fragment2).commit(); } } }); bt3.setOnClickListener(new View.OnClickListener() { @Override //隐藏的时候不走生命周期 //repalce销毁fragment public void onClick(View v) { if (fragment != null && !fragment.isHidden()) { getSupportFragmentManager().beginTransaction() .hide(fragment).commit(); } } }); bt4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (fragment != null && fragment.isHidden()) { getSupportFragmentManager().beginTransaction() .show(fragment).commit(); } } });}@Overrideprotected void onStart() { super.onStart(); Log.d("====Activity====", "onStart");}@Overrideprotected void onResume() { super.onResume(); Log.d("====Activity====", "onResume");}@Overrideprotected void onPause() { super.onPause(); Log.d("====Activity====", "onPause");}@Overrideprotected void onStop() { super.onStop(); Log.d("====Activity====", "onStop");}@Overrideprotected void onRestart() { super.onRestart(); Log.d("====Activity====", "onRestart");}@Overrideprotected void onDestroy() { super.onDestroy(); Log.d("====Activity====", "onDestroy");}
}
activity_fragement_life布局:
FirstFragment:
public class FirstFragment extends Fragment {
public FirstFragment() { // Required empty public constructor}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment //把静态布局拿出来。。。返回一个view return inflater.inflate(R.layout.fragment_first, container, false);}@Overridepublic void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Bundle bundle=getArguments(); if(bundle!=null){ int ch=bundle.getInt("channel"); TextView tv= (TextView) getView().findViewById(R.id.tv); tv.setText(ch+""); }}
}
LifeFragment:
public class LifeFragment extends Fragment {
public LifeFragment() { // Required empty public constructor}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_life, container, false);}@Overridepublic void onAttach(Context context) { super.onAttach(context); Log.d("====Fragement====", "onAttach");}@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("====Fragement====", "onCreate");}@Overridepublic void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Log.d("====Fragement====", "onActivityCreated"); //取得布局 拿到当前fragment的布局 // getView().findViewById(R.id.tv); //拿到activity的布局 //getActivity().findViewById(R.id.bt_remove); 耦合度高 不好}@Overridepublic void onStart() { super.onStart(); Log.d("====Fragement====", "onStart");}@Overridepublic void onResume() { super.onResume(); Log.d("====Fragement====", "onResume");}@Overridepublic void onPause() { super.onPause(); Log.d("====Fragement====", "onPause");}@Overridepublic void onStop() { super.onStop(); Log.d("====Fragement====", "onStop");}@Overridepublic void onDestroyView() { super.onDestroyView(); Log.d("====Fragement====", "onDestroyView");}@Overridepublic void onDestroy() { super.onDestroy(); Log.d("====Fragement====", "onDestroy");}@Overridepublic void onDetach() { super.onDetach(); Log.d("====Fragement====", "onDetach");}
}
fragment_life布局:
fragment_first布局:
实现效果:
运行后或按了ShowFragment的效果
按了HideFragment的效果
按了ReplaceFragment的效果
0 0
- Fragement的基本用法
- (Fragement)Android Fragment 基本介绍
- 处理fragement的生命周期
- 处理fragement的生命周期
- fragement的生命周期
- fragement的生命周期
- 处理fragement的生命周期
- Fragement真正的解析
- Fragement的使用
- Fragement的使用
- Fragement的使用
- 处理fragement的生命周期
- fragement的循环添加
- Android | Fragement的onCreateView
- Fragement
- fragement
- Fragement
- Fragement
- uva 011178 Morley's Theorem 计算几何
- C/C++ 常见易混淆关键字区别 define/const,define/inline,malloc/new
- HDU1231 最大连续子序列(dp)
- 设计模式——单例模式
- Centos搭建lnmp环境
- Fragement的基本用法
- spark-graphx之pagerank
- C语言之while循环
- Divisibility
- 集合、数组 详解
- 关于listview 的setOnItemClickListener失效问题
- Get与Post的区别
- NDK环境搭建
- zookeeper安装与常用指令详解