将 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.thisgetActivity()。不确定,也许 null 因为第三个参数也可以。