就像可以说我有几种布局,我想在它们之间随机选择。

因此,不要使用像这样的静态布局名称:

setContentView(R.layout.main_layout);


要么

return inflater.inflate(R.layout.main_layout, container, false);


我会做类似的事情:

public String layoutName = 'main_layout';
setContentView(R.layout[layoutName]);
// OR
return inflater.inflate(R.layout[layoutName], container, false);


上面的方法不起作用(在JS中它起作用)

有没有办法做到这一点与Java。

最佳答案

    int resID = getResources().getIdentifier(layoutName,"layout",
    getActivity().getPackageName());
    setContentView(resID);


要么

    int resID = getResources().getIdentifier(layoutName,"layout",
    getActivity().getPackageName());
    View v = inflater.inflate(resID,container, false);

关于java - 尝试动态定义布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18368391/

10-11 17:17