2016-03-06 94 views
0

我想动态更新片段的布局。我已经有了一个xml布局文件。充气后,我更新了布局。当我运行应用程序时,它会进行转换。从xml布局到以编程方式更改一个。为什么会发生这种转变以及如何克服这一点。我搜查了很多,但无法解决这个问题。以编程方式更新片段的布局

我膨胀了片段的onCreateView方法中的布局。并使用 更新应用UIUI.setUpUIForCurrentView(rootView,getContext());

这里是代码:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 

    if (rootView == null) { 
     rootView = inflater.inflate(R.layout.specific_current_details, 
       container, false); 
     init(); 
     ApplicationUIUtils.setUpUIForCurrentView(rootView, getContext()); 
     rootView.invalidate(); 
    } 
    return rootView; 
} 
+0

不确定这是干什么的:'ApplicationUIUtils.setUpUIForCurrentView(rootView,getContext());' – Gudin

+0

我没有承认你的问题。你想做什么?更新视图内容或转换?你将你的片段静态放置在activity xml中? – jonathanrz

+0

我想根据各种设备重新定位所有视图,而不进行任何转换。 – Patriotic

回答

1

什么是的init()

为什么你需要这样做?

ApplicationUIUtils.setUpUIForCurrentView(rootView, getContext()); 
rootView.invalidate(); 

当创建一个片段,onCreateView(...)将产生片段的视图并进行更新。

如果您想要添加更多视图的对象,可以在onCreateView(...)中执行。要为不同的设备创建不同的视图,您必须创建不同的流程来修改返回的rootview。

阅读:Supporting Different Devices

+1

这是一个答案或什么? –

0

没有找到满意的答案我只是让所有的意见知名度=“水涨船高”,在XML,然后重新定位代码使setVisibility(View.VISIBLE);其中至少删除过渡问题,但与以前相同的时间加载。