-->

如何使一个回调后的观点是完全呈现?(How to make a callback after the

2019-09-19 06:02发布

如何使一个回调后的观点是完全呈现?

我试图调用带父视图的屏幕截图的方法。 如果我写在该代码onCreate()的方法,所述应用程序崩溃由于空指针(因为没有视图被呈现)。 现在我已经实现了暂时的解决方法是调用该方法之前,使1秒的延迟。 但是,我要寻找一个更强大的解决这个问题。

任何建议和帮助表示赞赏。 谢谢 :)

Answer 1:

试试这个逻辑...总是叫后的观点已经得到了焦点或渲染或失去焦点

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    doWhateverAfterScreenViewIsRendered();
}


Answer 2:

我有一个更好的选择,现在:)这真的让回拨布局之后被渲染

private class LoadActivity extends AsyncTask<String, Void, String> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

        mainMethod();
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);

        takeScreenShot(1);
    }

    @Override
    protected String doInBackground(String... params) {
        return null;
    };
}

我创建的上述类,然后要求在执行的onCreate此方法()

LoadActivity loadactivity= new LoadActivity();
loadactivity.execute();


Answer 3:

您应该使用onResume()回调在你的Activity ,这是

当调用活动将开始与用户交互。 在这一点上你的活动是在活动堆栈的顶部,用户输入要它。



文章来源: How to make a callback after the view is completely rendered?