2017-09-14 5 views
-2

私のプロジェクトには、アクティビティクラスが1つ、インターフェイスクラスが1つ、クラスが2つあります。 1つのクラスは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); 
    } 
} 

私はOther ClassNo interface expected here)でエラーを持っている

public class Operation extends TaskListener { 

} 

他のクラス。私はどのように両方のクラスでInterfaceクラスを実装することができます混乱している。

+1

インターフェイスの場合は、 "implements"キーワードを使用する必要があります。 – fishbone

答えて

0
public class Operation extends TaskListener {} 

extendsはインターフェイスではなくクラスを必要とするためです。インターフェイスは、実装と一緒に使用する必要があります。変更する:

public class Operation implements TaskListener {} 
+0

ありがとうございます。それは働いている。 –

関連する問題