为动态创建的 Android 片段提供自定义属性值

Supplying custom attribute values to a dynamically created Android fragment

我了解如何为片段定义自定义属性并在 XML 中指定它们的值(如本答案所示)。但我不确定如何对 Activity.onCreate() 中动态创建的片段执行此操作。如何提供属性值,以便片段可以通过在其 onInflate() 中调用 Context.obtainStyledAttributes() 来获取它们?


How do I provide the attribute values

您需要设置片段处理参数(请参阅 setArguments()),然后将您需要的任何内容传递给新创建的 Fragment 对象,覆盖 XML 或片段默认值。


使用以下代码:

1
2
3
4
5
@Override
    public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState) {
        super.onInflate(activity, attrs, savedInstanceState);
        // Your code here to process the attributes
    }