我想创建一个框架,在运行时“构建”应用程序结构和表示视图的一部分,解析一些配置文件。 我想知道的是,如果有一种方法,我可以引用布局并基于名称实例化它而不创建地图。 例如,改为使用简单:
ViewGroup layout = (ViewGroup) findViewWithId(R.id.layout1);
做更多的事情:
String name = Config.getLayout1();
ViewGroup layout = getLayoutByName(name);
答案 0 :(得分:1)
当您按R.id.layout1
进行布局时,它实际上首先获取它的资源ID并将其传递给findViewWithID
。
因此,您可以自己找到该ID并将其发送给findViewWithId
函数。
您可以这样做:
String layoutName = "layout1";
int resID = context.getResources().getIdentifier(layoutName, "layout", context.getPackageName());
然后得到实际的观点:
ViewGroup layout = (ViewGroup) findViewWithId(resID);