无法在Activity中使用Async类。活动已经包含从Activity扩展的Main类

时间:2015-07-05 14:19:56

标签: android android-activity android-asynctask

public class Server_Activity extends AsyncTask<Void, String, Void> {


}

写这个课时会显示错误:

  

ClassServer_Activity必须声明为abstract或实现抽象方法doInBackground(params)。

导致此错误的原因是什么?

3 个答案:

答案 0 :(得分:0)

添加方法MessageBox.Show(String.Format("The sum result is: {0}.",Sum())); 。这是因为AsyncTask是一个抽象类,它还包含抽象方法doInBackground()。这意味着,从AsyncTask类继承的任何类都必须实现doInBackground()方法。

但是你的标题似乎是另一个问题,听起来就像你在另一个活动的同一个文件中写了doInBackground()类。在Eclipse中,这个错误听起来像是:

  

必须在自己的文件中定义公共类型Testclass

如果是这种情况:创建一个新的Server_Activity文件并在那里写下.java课程。 并且不要忘记在那里实现Server_Activity方法。

您可以在android developer api中找到相关示例。

答案 1 :(得分:0)

在代码中实现doInBackground方法。按ctrl + i,选择doInBackground然后输入以使其变得简单

答案 2 :(得分:0)

基于您必须实现doInBackground的文档。因为doInbackground方法被声明为abstract。 看文件 http://developer.android.com/reference/android/os/AsyncTask.html

  

protected abstract doInBackground(Params ... params)

     

在API级别3中添加覆盖此方法以执行计算   后台线程。指定的参数是参数   由此任务的调用者传递执行(Params ...)。这种方法   可以调用publishProgress(Progress ...)在UI上发布更新   线程。

     

参数params任务的参数。返回结果,   由此任务的子类定义。

在你的情况下Params ... params is Void

  

↳android.os.AsyncTask