В моем андроид-проекте у меня есть абстрактный класс Request
package Managers;
import java.util.HashMap;
public abstract class Request {
public interface Completion {
void execute(HashMap<String, Object> result);
}
protected Completion completion;
protected HashMap<String, Object> requestResult;
public void setCompletion(Completion newCompletion) {
completion = newCompletion;
if (requestResult != null) {
completion.execute(requestResult);
requestResult = null;
}
}
}
И в моем классе RequestsManager я создал его примерно так:
public static Request numberAvailabilityCheck = new Request() {
public String isSuccess = "isSuccess";
public String result = "result";
public void sendRequest(String number) {
new java.util.Timer().schedule(new java.util.TimerTask() {
@Override
public void run() {
requestResult = new HashMap<String, Object>();
requestResult.put(isSuccess, true);
requestResult.put(result, true);
if (completion != null) {
completion.execute(requestResult);
requestResult = null;
}
}
}, 5000);
};
};
В моем классе MainFragment мне нужно использоватьnumberAvailabilityCheck вроде так
private View.OnClickListener checkEventListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
RequestsManager.numberAvailabilityCheck.setCompletion(numberAvailabilityCheckCompletion);
ViewRelatedUtils.closeKeyboard(getActivity());
isProcessingCheckNumber = true;
showProcessing();
RequestsManager.numberAvailabilityCheck.sendRequest(numberField.getText());
}
};
Но компилятор не видит метод RequestsManager.numberAvailabilityCheck.sendRequest в MainFragment.Почему компилятор этого не видит?Что понимает компилятор, когда я так объявляю открытый метод sendRequest в RequestsManager?И как я могу заставить компилятор увидеть это?