Я новичок в разработке Android, и я пытаюсь создать приложение погоды, в котором после поиска отображается список стран с городом (например, Лондон). В api openweathermap он показывает 5 результатов с разными странами с названием «Лондон», но в моих кодах он даже не показывает 1 результат.
Вот мой код:
public void getCityData(){
final Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
WeatherService weatherService = retrofit.create(WeatherService.class);
ListService listService = retrofit.create(ListService.class);
String cityName = search.getEditableText().toString();
stringArrayList.clear();
stringArrayList.add(cityName);
for (String city : stringArrayList) {
Call<WeatherData> weatherDataCall = weatherService.getWeatherData("/data/2.5/find?q = " + city + "&APPID = " + API_KEY + "");
weatherDataCall.enqueue(new Callback<WeatherData>() {
@Override
public void onResponse(Call<WeatherData> call, Response<WeatherData> response) {
ProgressBar progressBar = new ProgressBar(AddCityActivity.this, null, android.R.attr.progressBarStyleHorizontal);
progressBar.setIndeterminate(true);
WeatherData weatherData = response.body();
List<cp2.openweatherv3.model.List> lists = weatherData.getList();
for (int i = 0; i < lists.size(); i++){
Log.d("name", lists.get(i).getName());
Log.e("country", lists.get(i).getSys().getCountry());
Log.w("count", String.valueOf(lists.size()));
generateList(lists);
}
}
@Override
public void onFailure(Call<WeatherData> call, Throwable t) {
Log.d("sometag", t.getLocalizedMessage());
Toast.makeText(AddCityActivity.this, "not throwing anything", Toast.LENGTH_SHORT).show();
}
});
}
}
Как я могу сделать это возможным?
Большое спасибо
Он показывает только тост, который я сделал. Как мне с этим бороться?
После нескольких часов наблюдения за функциональностью я думаю, что бывают случаи, когда он не работает должным образом, а иногда он работает так, как мне это нужно xD
вы получаете ответ о методе сбоя?