2017-09-14 64 views
-2

我的项目有1个活动类,1个接口类和2个类。一个类通过AsyncTask进行扩展。Android:如何在ActivityClass和类中实现接口类

活动类

public class ActivityClass extends AppCompatActivity implements TaskListener { 
    TaskListener listener; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Call asyncTask class 
     Server myServer = new Server(listener); 
     myServer.execute(request); 
    } 

    @Override 
    public void taskComplete(boolean status) { 
     //Task complete 
    } 
} 

接口类

public interface TaskListener { 
    public void taskComplete(boolean status); 
} 

的AsyncTask类

public class Server extends AsyncTask<JSONObject, Void, Void> { 
    TaskListener listener; 

    public Server(TaskListener l) { 
     this.listener = l; 
    } 

    @Override 
    protected Void doInBackground(JSONObject... params) { 
     ........... 
    } 

    @Override 
    protected void onPostExecute(Void result) { 
     listener.taskComplete(success); 
    } 
} 

其他类

public class Operation extends TaskListener { 

} 

我在Other ClassNo interface expected here)得到了一个错误。我很困惑,我怎么能在这两个类中实现Interface类。

+1

对于接口,您应该使用“implements”关键字代替“extends”。 – fishbone

回答

0
public class Operation extends TaskListener {} 

因为扩展需要一个类,而不是一个接口。接口应该与工具一起使用。更改为:

public class Operation implements TaskListener {} 
+0

谢谢。它工作。 –