抽象类管理fragment
来源:互联网 发布:关注网站源码 编辑:程序博客网 时间:2024/06/03 16:55
- Activity的布局activity_main.xml
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/fragmentContainer" //指定布局id android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"></FrameLayout>
- Fragment的布局myfragment.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="#ff33" //为了便于测试,设背景色为红色 android:layout_width="match_parent" android:layout_height="match_parent"></LinearLayout>
- 创建抽象的Activity类管理Fragment
public abstract class SingleFragmentActivity extends FragmentActivity { protected abstract Fragment createFragment(); @Override public void onCreate(Bundle savedInstanceState) { Log.d("test", "SingleFragmentActivity onCreate()"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager fm = getSupportFragmentManager(); Fragment fragment = fm.findFragmentById(R.id.fragmentContainer); if (fragment == null) { fragment = createFragment(); fm.beginTransaction().add(R.id.fragmentContainer, fragment).commit(); } }}
- MainActivity类
public class MainActivity extends SingleFragmentActivity { @Override protected Fragment createFragment() { Log.d("test","MainActivity createFragment() before"); MyFragment myFragment = new MyFragment(); Log.d("test","MainActivity createFragment() after"); return myFragment; }}
- MyFragment类
public class MyFragment extends Fragment{ @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { Log.d("test", "MyFragment onCreateView()"); return inflater.inflate(R.layout.myfragment,container,false); }}
执行顺序:
SingleFragmentActivity onCreate()
MainActivity createFragment() before
MainActivity createFragment() after
MyFragment onCreateView()
0 0
- 抽象类管理fragment
- 自定义fragment抽象父类
- 采用抽象类优化Fragment提交代码
- Fragment管理的工具类
- Android Fragment---管理Fragment
- Android Fragment---管理Fragment
- 管理fragment
- Fragment管理
- fragment管理
- fragment 管理
- Fragment管理
- 管理fragment
- Android 自定义Fragment切换管理类,自动管理Fragment的生命周期,支持FragmentActivity和Fragment里面嵌套fragment
- viewpager+fragment 如何管理fragment
- viewpager+fragment 如何管理fragment
- fragment嵌套fragment的管理
- 8 管理fragment生命周期
- 大话Fragment管理
- Spring aop execution 表达式
- iOS推送之远程推送(iOS Notification Of Remote Notification)
- 宿主机SSH登录VirtualBox中的Linux CentOS 7(主宿互访)
- 深入理解Linux网络技术内幕-设备注册和初始化(四)
- Andoird无法调用微信支付原因
- 抽象类管理fragment
- Genymotion Eclipse插件安装
- Failed to load the JNI shared Library (JDK)
- SQL SELECT INTO 语句
- Struts2自定义拦截器实例—登陆权限验证(两种方式的拦截)
- SQL UNION 和 UNION ALL 操作符
- Halcon-基于HALCON的模板匹配方法总结
- [leetcode] 322. Coin Change
- LoadRunner第一节【认识LoadRunner测试app原理】