android - 使用单个 Fragment 执行多个 UI 任务?

标签 android android-fragments

我正在使用 fragment 主细节架构
所有Fragment类都有相同的逻辑
是否可以将 Fragment 从布局中“分离”出来并仅使用一个 Fragment 类
所以这段代码:

FragmentTransaction fragManager = getSupportFragmentManager().beginTransaction();

        if("001".equalsIgnoreCase(id)){
                    arguments.putString(Fragment001.ARG_ITEM_ID, id);
                    Fragment001 fragment = new Fragment001();
                    fragment.setArguments(arguments);                       fragManager.replace(R.id.item_detail_container, fragment);
        }
        else if("002".equalsIgnoreCase(id)){
                    arguments.putString(Fragment002.ARG_ITEM_ID, id);
                    Fragment002 fragment = new Fragment002();
                    fragment.setArguments(arguments);
                    fragManager.replace(R.id.item_detail_container, fragment);
        }

        fragManager.commit();

会变成这样的东西:

FragmentTransaction fragManager = getSupportFragmentManager().beginTransaction();               
                    GenericFragment fragment = new GenericFragment();                       
                    fragment.setUiId(id)
                    fragManager.replace(R.id.item_detail_container, fragment);
fragManager.commit();
  1. 列出项目

最佳答案

是的,这是可能的,您可以在 onCreateView 中检查并选择要使用的布局...

public static final String ARG_ITEM_ID1 = "fragment001";

public static final String ARG_ITEM_ID2 = "fragment002";

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
         Bundle savedInstanceState) {
     View rootView = null;
     String id = "fragment001";
     if(ARG_ITEM_ID1.equalsIgnoreCase(id)){

         rootView = inflater.inflate(R.layout.fragment_1_layout, container, false);
     }
     else {

        rootView = inflater.inflate(R.layout.fragment_2_layout, container, false);
     }
     return rootView;
}

关于android - 使用单个 Fragment 执行多个 UI 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22058724/

相关文章:

android - 如何在Android应用程序中为不同目的同时使用移动wifi和数据连接

java - Android 中的 fragment 重叠

android - 无法使用 JSON 从 MySQL 检索数据并将其放入带有 Fragments 的 ListView 中

android - 为什么在调用第一个 fragment 时会自动调用第二个 fragment ?

android - 用同一类的另一个 fragment 替换一个 fragment

android - 静态设置 onLongClick 监听器

java - 是否可以缩短批量代码

android - fragment 中的空指针异常

android - 可以从 Application 类的扩展创建 fragment 吗?

php - 阿拉伯语文本加密和解密添加到服务器