I am implementing a Presenter at a Activity
empty, that is, my Activity_main is completely empty without any element or widget, it asks me: How do I integrate this Presenter in my Activity so that I throw a JSON in that Activity
empty using a menu:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
setContentView(R.layout.activity_main2);
this is my GetDetentionActivity code
public class GetDetentionActivity extends BaseActivity implements GetDetentionPresenter.Callback {
private GetDetentionPresenter getmGetDetentionPresenter;
private static final String EXTRA_FIRST = "extraFirst";
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
setContentView(R.layout.activity_main2);
public static void launch (AppCompatActivity GetDetentionActivity,boolean first){
Intent intent = new Intent(GetDetentionActivity, MainActivity.class);
intent.putExtra(EXTRA_FIRST, first);
GetDetentionActivity.startActivity(intent);
}
}
@Override
protected BasePresenter getPresenter() {
return getmGetDetentionPresenter = new GetDetentionPresenter(this, this) {
@Override
protected void implementWS() {
}
};
}
@Override
public void onSuccessGetDetention(List<GetDetentionResponse.Motive> detentionList) {
}
}
My presenter GetDetentionPresenter
public class GetDetentionPresenter extends BaseDemoPresenter implements WSCallback {
public static String result;
/// Callback
public Callback mCallback;
public interface Callback {
void onSuccessGetDetention(List<GetDetentionResponse.Motive> detentionList);
}
public GetDetentionPresenter(AppCompatActivity appCompatActivity) {
super(appCompatActivity);
}
@Override
protected void implementWS() {
}
public GetDetentionPresenter(AppCompatActivity appCompatActivity, GetDetentionActivity callback) {
super(appCompatActivity);
mCallback = callback;
}
public void getDetention() {
mWSManager.requestWs(GetDetentionResponse.class, WSManager.WS.GET_DETENTION,
WebServices.services().getDetention(new GetDetentionRequest("1")));
}
private void onSuccessLoadGetDetention(String requestUrl, GetDetentionResponse getDetentionResponse) {
if (getDetentionResponse.result.equals("0")) {
mCallback.onSuccessGetDetention(getDetentionResponse.groundsList);
} else {
onErrorLoadResponse(requestUrl, getDetentionResponse.resultDescription != null
? getDetentionResponse.resultDescription : "");
}
}
@Override
public void onRequestWS(String requestUrl) {
if (requestUrl.equals(WSManager.WS.GET_DETENTION)) {
MessageUtils.progress(mAppCompatActivity, "Cargando motivos de detencion...");
} else {
MessageUtils.toast(mAppCompatActivity, "Cargando...");
}
}
@Override
public void onSuccessLoadResponse(String requestUrl, WSBaseResponseInterface baseResponse) {
MessageUtils.stopProgress();
if (requestUrl.equals(WSManager.WS.GET_DETENTION)) {
onSuccessLoadGetDetention(requestUrl, (GetDetentionResponse) baseResponse);
}
}
@Override
public void onErrorLoadResponse(String requestUrl, String messageError) {
MessageUtils.stopProgress();
if (messageError.isEmpty()) {
MessageUtils.toast(mAppCompatActivity, "Fallo");
} else {
MessageUtils.toast(mAppCompatActivity, messageError);
}
}
@Override
public void onErrorConnection() {
MessageUtils.toast(mAppCompatActivity, "Sin internet");
}
}