是的。您可以使用 setOnGlobalLayoutListener() 来侦听,并在布局完成后使用回调
同样在屏幕旋转时,活动应该被销毁,重新创建,所以你的加载应该重新开始。你在做一些奇怪的事情吗?
我在我的片段之一中这样做:
root = inflater.inflate(R.layout.fragment_booking_accepted, null);
root.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Dbg.e(TAG, "- On Layout Completed ! ");
// If you need this to be called again, then run again addOnGlobalLayoutListener.
// root.getViewTreeObserver().removeGlobalOnLayoutListener(this);
isLayoutCompleted = true;
// YOU write here all the coed you might need. }}}} close brackets
编辑 :
- 大多数人认为不让 android 完成它的工作是很可怕的:当屏幕旋转时销毁并重新创建。但你可以做你想做的。
- 加载一个空的列表视图非常轻量。加载布局需要几秒钟是不可能的。您必须使用微调器加载布局和列表视图,让用户知道他的手机在做什么(加载)。加载数据后,将数据更改通知适配器。
它会改变你的观点吗?问我,如果我知道,我会尽力回答。