如何在Android中等待执行方法

Bha*_*han -4 android android-asynctask

我有一个问题,我编写的代码就像

private class SomeClass extends AsyncTask {
    @Override
    protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(CheckOutActivity.this);
            pDialog.setMessage(getText(R.string.wait));
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
        }
    @Override
    protected Void doInBackground(Void... arg0) {
//some code
}
@Override
        protected void onPostExecute(final Void unused) {
            if (pDialog.isShowing()) {
                pDialog.dismiss();
            }
        }
}
Run Code Online (Sandbox Code Playgroud) 我执行这样的类
new SomeClass().execute();
Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT).show();
现在我的问题是.execute()启动代码就像不等待它意味着Toast就像在执行SomeClass()之前执行一样.execute(); 有没有等待这个.execute()方法的属性.

编辑:我为全局变量赋值,在执行后我只想比较这个值.所以我只是把Toast的消息.

Com*_*are 5

如果您希望在工作完成后显示Toast逻辑onPostExecute(),请移动逻辑.

  • @BhavinChauhan:"我知道这个解决方案" - 然后请实施它."实际上我想知道如何等待这个过程" - "AsyncTask"的完整和完整点是在后台线程中工作而不会阻塞主应用程序线程.因此,有才能的程序员使用`onPostExecute()`在后台工作完成后在主应用程序线程上完成工作. (2认同)