2017-09-14 33 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

謝謝。它工作。 –