当前位置: 首页 > 知识库问答 >
问题:

无法覆盖doInBackend-method(asyncTask)

殳越
2023-03-14

为什么我不能重写类中的doInBackground方法?

public class AttemptLogin extends AsyncTask {


@Override

protected void onPreExecute() {

    super.onPreExecute();

}

@Override

protected JSONObject doInBackground(String... args) {



    String email = args[2];
    String password = args[1];
    String name= args[0];

    ArrayList params = new ArrayList();
    params.add(new BasicNameValuePair("username", name));
    params.add(new BasicNameValuePair("password", password));
    if(email.length()>0)
        params.add(new BasicNameValuePair("email",email));

    JSONObject json = jsonParser.makeHttpRequest(URL, "POST", params);


    return json;

}

protected void onPostExecute(JSONObject result) {

    // dismiss the dialog once product deleted
    //Toast.makeText(getApplicationContext(),result,Toast.LENGTH_LONG).show();

    try {
        if (result != null) {
            Toast.makeText(getApplicationContext(),result.getString("message"),Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(getApplicationContext(), "Unable to retrieve any data from server", Toast.LENGTH_LONG).show();
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }


}

}

错误:类AttemptLogin必须声明为抽象或实现抽象方法'doInBackground(参数…)在“异步任务”中

如果我将doInBackground的参数更改为(Object[]),它就会工作。为什么我不能传递字符串值?

共有2个答案

施默
2023-03-14

把你的代码改成这样

public class AttemptLogin extends AsyncTask<String,Void,JSONObject> {
...

必须告诉AsyncTask返回类型的类,否则它默认为object

熊锐进
2023-03-14
public class AttemptLogin extends AsyncTask<String, Void, JSONObject> {...}
 类似资料:
  • 问题内容: 我尝试按照食谱中的描述自定义行为。 在ipython中: 没有被调用。看来在我的python 2.5安装中不起作用。 问题答案: 使用的是ipython,而不是普通的Python交互式shell,它本身捕获所有异常,并且不使用sys.excepthook。以代替just的方式运行它,它将在未捕获的异常时自动调用pdb,就像您尝试使用excepthook一样。

  • 注意:这里有几个人引用的解决方案不适用于我的问题。。。 我有一个java。sql。要在getter中格式化为字符串的时间戳字段。我在课程开始时使用Lombok@Data。但是,当我用自己的getter覆盖Lombok的getter(格式化时间戳)时,字段总是空的。我在文档中没有看到任何东西来解释这种行为。 这段代码将结算日期作为时间戳提供给我: 这个代码块给了我一个NPE,因为setementDa

  • 下面是我的pom.xml 这是我的主课 SecurityConfig.Class

  • 问题内容: 因此,我有一个自定义类,该类具有与int一起使用的功能。然而,在我的程序(库),它越来越被称为周围的其他方法,即,在那里是我的班。有什么办法可以让它使用我的功能吗? 问题答案: 只需将以下内容添加到类定义中,就可以了:

  • 在这个特定的示例中,我扩展了