mResultCallback - результат ResultCallback < Статус >, поэтому вам нужно реализовать класс этого типа. Документация here, но есть только один метод, который вы должны реализовать:
public abstract void onResult (Status result)
Стандартный способ сделать это, используя анонимный класс либо при объявлении mResultCallback или когда вы используете его в качестве параметра. Ниже приведен пример из примера BasicRecordingAPI Google:
Fitness.RecordingApi.subscribe(mClient, DataType.TYPE_ACTIVITY_SAMPLE)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (status.isSuccess()) {
if (status.getStatusCode()
== FitnessStatusCodes.SUCCESS_ALREADY_SUBSCRIBED) {
Log.i(TAG, "Existing subscription for activity detected.");
} else {
Log.i(TAG, "Successfully subscribed!");
}
} else {
Log.i(TAG, "There was a problem subscribing.");
}
}
});
Если вы хотите использовать переменную-член, вы можете просто сделать задание вместо:
ResultCallback<Status> mResultCallback = new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
...
}
});
Конечно, вы можете определить, не-анонимный класс, но если вы сделали это за каждый обратный вызов, который у вас был, вы в конечном итоге создали бы много классов.
Как это все еще сломано ... –