Android 片段:以编程方式创建要填充的xml视图

Android 片段:以编程方式创建要填充的xml视图,android,xml,android-3.0-honeycomb,android-fragments,Android,Xml,Android 3.0 Honeycomb,Android Fragments,有没有一种方法可以创建一个新的布局,然后让XML膨胀 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle icicle){ one_third = (RelativeLayout)getActivity().findViewById(R.id.list3); DisplayMetrics dm = new Disp

有没有一种方法可以创建一个新的布局,然后让XML膨胀

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle icicle){

            one_third = (RelativeLayout)getActivity().findViewById(R.id.list3);

            DisplayMetrics dm = new DisplayMetrics();
            getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
            String width = "" + dm.widthPixels;

            int WIDTH;
            int SIZE;

            SIZE = Integer.parseInt(width.toString());

            WIDTH = (SIZE / 3); 

            one_third.setMinimumWidth(WIDTH);

    View homeselect = inflater.inflate(R.layout.listelements, container, false);
    setListAdapter(new ArrayAdapter<String>(getActivity(),
                R.layout.start_row, R.id.label, views));
    return homeselect;

}
@覆盖
创建视图上的公共视图(平面充气机、视图组容器、捆绑冰柱){
三分之一=(RelativeLayout)getActivity().findViewById(R.id.list3);
DisplayMetrics dm=新的DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
字符串宽度=”“+dm.widthPixels;
整数宽度;
整数大小;
SIZE=Integer.parseInt(width.toString());
宽度=(尺寸/3);
三分之一。设置最小宽度(宽度);
视图homeselect=充气机。充气(R.layout.listedelements,container,false);
setListAdapter(新的ArrayAdapter(getActivity()),
R.layout.start_行,R.id.label,视图);
返回家园选择;
}

我试图将这段代码放在片段中,这里是我想要创建新布局的地方。我想给它一个宽度的值widt,然后让我的xml填充它

这个问题实际上不是关于片段的。这里的API只是提供片段管理的视图层次结构的一部分。所有布局都基于视图层次。你不在这里做布局,因为你甚至不知道在哪个空间做布局


因此,无论何时使用视图层次结构,正确答案都是相同的:通过onMeasure()和onLayout()参与常规布局流程。如果标准布局管理器不能满足您的要求,您可以实现自己的ViewGroup特殊子类,该子类根据所获得的大小进行所需的布局。

因此,这听起来不错,似乎可以满足我的要求,但我像uber noob,不知道如何实现。哈哈。这是否允许我在XML内部调用布局并设置其值?如果是这样,这是如何做到的?谢谢