Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

POST запрос Retrofit 2.0

Возникла проблема при попытке создать POST запрос через retrofit по нажатию на кнопку.
public interface HZApi { @POST("/registration") public Call register(@Body ReqBody request); }
public class RespBody { String login; String password; boolean flag; }
public class ReqBody { String login; String password;
public ReqBody(String login, String password){ this.login = login; this.password = password; } }
public void ClickOK(View v){ Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://mysite.ru") .build(); HZApi api = retrofit.create(HZApi.class); ReqBody req = new ReqBody(login,password); Call call = api.register(req); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { Toast.makeText(getApplicationContext(),"OK",Toast.LENGTH_SHORT).show(); }
@Override public void onFailure(Call call, Throwable t) { Toast.makeText(getApplicationContext(),"!!!",Toast.LENGTH_SHORT).show(); } }) ; } }
На строке
HZApi api = retrofit.create(HZApi.class);
вылетает исключение java.lang.IllegalStateException: Could not execute method for android:onClick.
Не могли бы вы подсказать, с чем это может быть связано?


Ответ

В onCreate() \ onCreateView()
Проверьте инициализацию вашей кнопки
findViewById(R.id.my_button).setOnClickListener(this);
В onClick
@Override public void onClick(View v) { switch (v.getId()) { case R.id.my_button: //ваш запрос break; } }

Комментариев нет:

Отправить комментарий