活动设置完成后执行操作

时间:2015-01-30 12:24:27

标签: android android-activity activity-lifecycle

我希望在活动完成设置后执行操作。 我需要的不仅仅是简单地在活动中的其他所有内容之后编写代码,因为需要完成一些显示措施,并且我只需要在活动完全设置后进行计算/

我尝试使用

final ViewTreeObserver observer = mainLayout.getViewTreeObserver();
    observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
           //whatever I want to do...
}
});

这确实有效,但它让我的应用程序崩溃只有

` `"01-30 14:21:55.615: A/libc(4867): Fatal signal 11 (SIGSEGV) at 0x00022588 (code=1), thread 4867 (m.fgdvir.ezlist)" 

在错误日志中

请求帮助! 感谢

2 个答案:

答案 0 :(得分:0)

您可以将代码放在onResume()中,一旦设置了用户界面并且用户可以与其进行互动,就会将其调回您的活动。

@Override
public void onResume() {
   super.onResume();
   // ... code goes here
}

答案 1 :(得分:0)

好吧,经过一番挖掘,我注意到我的解决方案是正确的(不确定是否是最好的方式,但它对我有用),但我有一件事缺失 - 在调用 onGlobalLayouLtListener 之后我需要删除监听器。所以我使用的代码如下:

final ViewTreeObserver observer = view.getViewTreeObserver();
        observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

            @Override
            public void onGlobalLayout() {
                view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                //The things I need to be done after activity setup is finished.

            }

        });

顺便说一下 - 我注意到我真的不知道在活动中查看哪个视图,我附加到OnGlobalLayoutListener,你可以真正选择你想要的。