Как передать строку из activity в GET-запрос?
В MainActivity есть EditText, в который пользователь пишет nickname:
<EditText
android:id="@+id/nicknameEditText"
android:hint="Введите игровое имя"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Как полученный текст передать в GET-запрос?
interface ApiRequest {
@GET("bridge?version=5&platform=PC&player=${R.id.nicknameEditText}")
fun herList() : Call<TestHero>
}
Я попробовал кустарным путём как в коде выше, получил ошибку. В поиске есть только передача данных между двумя и более activity. Подскажите, как это реализовать правильно?
Ответы (1 шт):
Автор решения: Vadik
→ Ссылка
В соответствии с документацией Retrofit, параметр в GET-запрос можно передать следующим образом:
interface ApiRequest {
@GET("bridge?version=5&platform=PC")
fun herList(@Query("player") player: String) : Call<TestHero>
}
Далее, находясь в Активити, берем EditText по id:
val nicknameView = findViewById<EditText>(R.id.nicknameEditText)
Достаем его содержимое:
val nickname = nicknameView.text.toString()
Наконец, вызываем метод интерфейса api, передавая nickname в качестве player:
api.herList(nickname)