java - AsyncTask 有错误 - 初学者

标签 java android android-asynctask

最终,我希望此方法在文本文档中查找一些值,并在用户名和密码存在的情况下返回 true。但是我在实现 AsyncTask 时遇到了一些问题。我已尝试按照 http://developer.android.com/reference/android/os/AsyncTask.html 上的指南进行操作但没有成功。

我在 doInBackground 方法的返回类型处遇到的错误是“返回类型与 AsyncTask.doInBackground(String[]) 不兼容”

    private class AuthenticateUser extends AsyncTask<String, Integer, Boolean>
    {
        String user;
        String pass;

        protected void onPreExecute(String uname, String passwd)
        {
            user = uname;
            pass = passwd;
        }

        protected boolean doInBackground(String... strings)
        {
            return true;
        }

        protected boolean onPostExecute(boolean v)
        {
            return v;
        }
    } 

我知道这根本不是验证用户身份的好方法。我只是想弄清楚这一点。谢谢。

最佳答案

这里的问题是 AsyncTask Extensions 是通用的,需要三种类型:AsyncTask<Params, Progress, Result>它可以是 Void 或一个类,但不是原始数据类型。

所以发生的事情是您告诉编译器 doInBackground 返回一个原始 boolean 值,但它期待一个 Boolean 类的实例。因此你会得到“返回类型不兼容”的错误。

只需更改 protected boolean doInBackground(String... strings)protected Boolean doInBackground(String... strings)你应该没事。

关于java - AsyncTask 有错误 - 初学者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920483/

相关文章:

java - JAVA 中的转换问题

android - Anymote 协议(protocol)能否从 Google TV 设备获取当前 channel ?

android - 将 XML 中的所有 subview 添加到 ViewGroup 后回调?

android - 两个异步任务相互跟随

android - AsyncTask 类中的错误无法发送数据

java - 在 Java EE 中缓存 DataSource 查找是否安全?

java - ElasticSearch获取_id

java - 了解 findWithinHorizo​​n 输出

Android Webview 在 4.4 上卡住,nativeOnDraw 失败;清除为背景颜色

android - onProgressUpdate 遗漏了一些发布