是否可以在动态添加的视图组中显示片段?

时间:2016-02-19 11:53:15

标签: android android-fragments

我正在尝试创建一个插件&播放视图。完成的那种成功,但在处理特殊情况时面临困难:在动态添加的ViewGroup中显示片段。

问题步骤:

  1. 用户创建了一个活动
  2. 用户将活动实例传递给我们的CustomPlugin
  3. CustomPlugin创建CustomPluginViewGroup(具有ImageView和Fragment)
  4. CustomPlugin然后将CustomPluginViewGroup添加到给定的Activity
  5. 结果

    在动态添加的ViewGroup中,显示ImageView但不显示片段。没有错误。

    参考代码:

    MainActivity.java

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            CustomViewManager customViewManager = new CustomViewManager(this);
        }
    }
    

    CustomViewManager.java

    public class CustomViewManager {
    
    private CustomViewGroup customViewGroup;
    
    public CustomViewManager(AppCompatActivity context) {
            this.context = context;
    
            LayoutInflater inflater = context.getLayoutInflater();
            customViewGroup =(CustomViewGroup)inflater.inflate(R.layout.custom_view_layout, null);
            FrameLayout.LayoutParams dummyParams = new       FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
    
            context.addContentView(customViewGroup, dummyParams);
       }
    }
    

    CustomViewGroup.java - 包含添加ImageView和动态添加片段的逻辑。

    注意:

    1. 我们无法访问正在进行的活动根布局的ID。
    2. 如果我们强制用户在其activity_main.xml文件中添加CustomViewGroup,则会正确显示Fragments。
    3. 是否可以在动态添加的ViewGroup中显示片段,还是Android中的任何此类限制?

0 个答案:

没有答案