将 R.layout.* 解析为 inflater 中使用的整数值
Parsing R.layout.* to integer value for usage in an inflater
我正在尝试实现一种将布局 ID 字符串提供给布局充气器而不是将其用作 ID 整数的方法,这很重要,因为我希望能够使用动态构建的 ID .
我试过像这样使用 getResources.getIdentifier 方法:
View view = inflater.inflate(getResources().getIdentifier("R.layout.coollayout", "layout", null),null);
但是 getIdentifier() 函数一直返回 0,这反过来导致应用程序崩溃,我在这里缺少什么(是的,我确定我有一个具有该名称的布局)?
应该是
getIdentifier("coollayout", "layout", context.getPackageName())
例如,上下文是片段的 Activity.this
或 getActivity()
。不确定,也许 null
因为第三个参数也可以。
我正在尝试实现一种将布局 ID 字符串提供给布局充气器而不是将其用作 ID 整数的方法,这很重要,因为我希望能够使用动态构建的 ID .
我试过像这样使用 getResources.getIdentifier 方法:
View view = inflater.inflate(getResources().getIdentifier("R.layout.coollayout", "layout", null),null);
但是 getIdentifier() 函数一直返回 0,这反过来导致应用程序崩溃,我在这里缺少什么(是的,我确定我有一个具有该名称的布局)?
应该是
getIdentifier("coollayout", "layout", context.getPackageName())
例如,上下文是片段的 Activity.this
或 getActivity()
。不确定,也许 null
因为第三个参数也可以。