martin suchodol
09/15/2022, 11:59 AMclass MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val _status = MutableLiveData<String?>()
val status: LiveData<String?> = _status
val api : String = "33aa634c216259f797f35e862f0*****"
val spinner = findViewById<Spinner>(R.id.cities)
//val result = findViewById<TextView>(R.id.result)
val cities = arrayOf("New York", "Sydney")
val cnt = findViewById<EditText>(R.id.NumberOfDays)
val button = findViewById<Button>(R.id.button)
val arrayAdapter: ArrayAdapter<*>
val data = arrayListOf<String>();
var listView = findViewById<ListView>(R.id.list)
arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, data)
listView.adapter = arrayAdapter
spinner.adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, cities)
button.setOnClickListener {
val selected = spinner.selectedItem as String
var lat: String = ""
var lon: String = ""
if (selected == "New York") {
lat = "40.79052384606425"
lon = "-73.95908688800822"
} else if (selected == "Sydney") {
lat = "-33.8470241774331"
lon = "151.0624326592654"
}
if(!TextUtils.isEmpty(cnt.text.toString())){
lifecycleScope.launch{
WeatherApi.retrofitService.getWeatherData(lat, lon, api, "metric", cnt.text.toString()).enqueue(object: Callback<WeatherInfo> {
override fun onResponse(call: Call<WeatherInfo>, response: Response<WeatherInfo>) {
data.add(response.body()?.city?.name.toString())
//result.text = response.body().toString()
Log.d("Full response: ", response.body().toString())
}
override fun onFailure(call: Call<WeatherInfo>, t: Throwable) {
Log.d("Failure: ", t.message.toString())
}
})
}
}
}
}
}
Juliane Lehmann
09/15/2022, 12:23 PMJuliane Lehmann
09/15/2022, 12:24 PMmartin suchodol
09/15/2022, 12:49 PMclass MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
...
var data = arrayOf<String>()
val arrayAdapter: ArrayAdapter<*>
var listView = findViewById<ListView>(R.id.list)
....
if(!TextUtils.isEmpty(cnt.text.toString())){
lifecycleScope.launch{
WeatherApi.retrofitService.getWeatherData(lat, lon, api, "metric", cnt.text.toString()).enqueue(object: Callback<WeatherInfo> {
override fun onResponse(call: Call<WeatherInfo>, response: Response<WeatherInfo>) {
data += "five"
Log.d("Full response: ", response.body().toString())
}
override fun onFailure(call: Call<WeatherInfo>, t: Throwable) {
Log.d("Failure: ", t.message.toString())
}
})
}
}
}
arrayAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, data)
listView.adapter = arrayAdapter
}
}
I will consider using recyclerView.Juliane Lehmann
09/15/2022, 12:53 PMJuliane Lehmann
09/15/2022, 12:55 PMJuliane Lehmann
09/15/2022, 12:55 PM