Enz*_*ran 1 android fragment android-activity viewpagerindicator
我的旧版本 Android 应用程序使用 4 个不同的活动(FirstActivity => FourthActivity,相应的 xml Activity_first => Activity_fourth),并且该应用程序可以在使用Intent. 最近我想更改用户界面以使用ViewPagerIndicator. 我已经实现了 4 个这样的片段:
public class FirstFragment extends Fragment{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.activity_first, null);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,如何将FirstActivity的业务代码全部迁移到FirstFragment呢?我是否只需要找到 onCreate、onDestroy、onStart... 的等效项并复制/粘贴代码(在适当的情况下添加 getActivity()、getView())?有没有简单的方法将片段附加到活动以避免这样做?
最简单的方法是将您在各个活动中的代码迁移onCreate()到onActivityCreated()新片段中。然后,您可以使用支持活动的方法中的片段事务将片段添加到您的活动中onCreate()。Android 文档在这里很好地介绍了如何执行此操作,并附有示例代码。如果出现一些混乱,您将在基础活动中执行以下操作:
获取新的FragmentManager
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Run Code Online (Sandbox Code Playgroud)
创建片段的新实例
ExampleFragment fragment = new ExampleFragment();
Run Code Online (Sandbox Code Playgroud)
将该片段添加到您的FragmentManager
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)
有许多不同的方法可以使用片段 - 例如在 aViewPager或ViewSwitcher中需要不同的实现,但这听起来像是它解决了您想要做的事情。
| 归档时间: |
|
| 查看次数: |
14671 次 |
| 最近记录: |