Android - 在 AsyncTask 中执行后

标签 android database button dialog android-asynctask

我目前有一个 asyncTask,它在执行前开始一个加载栏,在后台向服务器发送一些东西,在执行后关闭对话框并启用一个按钮。但是,由于 doInBackground 返回 null,我的后执行没有执行。我想弄清楚我能做些什么来运行 postExecute。有任何想法吗?谢谢

代码:

class DatabaseAsync extends AsyncTask<Void,Void,Void>{
        @Override
        protected void onPreExecute(){
            dialog = ProgressDialog.show(MainFeedActivity.this, null, "Posting...");
        }

        @Override
        protected Void doInBackground(Void... arg0) {
            Log.d(TAG, "send to databse");
            SendToDatabase();
            Log.d(TAG, "sent to database - DONE");

            //dialog.dismiss();

            //sendButton.setEnabled(true);

            return null;
        }

        protected void onPostExecute(){
            Log.d(TAG, "p execute");
            dialog.dismiss();
            sendButton.setEnabled(true);
            Log.d(TAG, "done executing");
        }

    }

最佳答案

在您的情况下,从 doInBackground() 返回 null 是完全可以的。只要确保 onPostExecute() 看起来像这样:

@Override
protected void onPostExecute(Void result) {
    Log.d(TAG, "p execute");
    dialog.dismiss();
    sendButton.setEnabled(true);
    Log.d(TAG, "done executing");
}

关于Android - 在 AsyncTask 中执行后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8369539/

相关文章:

mysql - SQL 中的 Group By 和having 出现问题

android - 带图像的多线和样式 Android 按钮

database - 为字典设计数据库

android - react native onHostDestroy()

android - 从android源代码构建

android - 如何在android中使用动态 fragment ?

MySql 查询时间过长

css - 过渡前加载样式?

java - 如何使用 JButton "If pressed and if released"

android - 相对布局 - 自动换行