我在 mainactivity 哪里出错了?
where I am making mistake in mainactivity?
我正在开发 android 应用程序,当我在 mainactivity.kt 中实现网络调用时,我收到以下错误屏幕截图我想知道我哪里出错了
低于我的MainActivity.kt
class MainActivity : AppCompatActivity() {
private var adapter: CurrenciesAdapter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
recycler_main.layoutManager = LinearLayoutManager(this@MainActivity)
adapter = CurrenciesAdapter(this)
recycler_main.adapter = adapter
if (isInternetAvailable()) {
getUsersData()
}
}
private fun getUsersData() {
showProgressBar()
var apiInterface: CurrenciesResponse = CurrencyClient().getApiClient()!!.create(
CurrenciesResponse::class.java
)
apiInterface.getCurrencies().enqueue(object : Callback <List<CurrencyResponse>> {
override fun onResponse(
call: Call<List<CurrencyResponse>>,
response: Response<List<CurrencyResponse>>)
{
hideProgressBar()
val currencyResponse = response.body()
adapter?.list = currencyResponse!!
}
override fun onFailure(call: Call<List<CurrencyResponse>>, t: Throwable) {
hideProgressBar()
Log.e("error", t.localizedMessage)
}
})
}
}
我做了什么 我已将响应类型从 https://gist.github.com/kyodgorbek/d0d9b3749ac64f15b4db87874cfe13e7
您在 CurrenciesResponse.class
中的 getCurrencies()
方法具有 return 类型的 CurrenciesResponse
而它应该是 List<CurrenciesResponse>
.
您需要修复 retrofit's service interface
。
我正在开发 android 应用程序,当我在 mainactivity.kt 中实现网络调用时,我收到以下错误屏幕截图我想知道我哪里出错了
低于我的MainActivity.kt
class MainActivity : AppCompatActivity() {
private var adapter: CurrenciesAdapter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
recycler_main.layoutManager = LinearLayoutManager(this@MainActivity)
adapter = CurrenciesAdapter(this)
recycler_main.adapter = adapter
if (isInternetAvailable()) {
getUsersData()
}
}
private fun getUsersData() {
showProgressBar()
var apiInterface: CurrenciesResponse = CurrencyClient().getApiClient()!!.create(
CurrenciesResponse::class.java
)
apiInterface.getCurrencies().enqueue(object : Callback <List<CurrencyResponse>> {
override fun onResponse(
call: Call<List<CurrencyResponse>>,
response: Response<List<CurrencyResponse>>)
{
hideProgressBar()
val currencyResponse = response.body()
adapter?.list = currencyResponse!!
}
override fun onFailure(call: Call<List<CurrencyResponse>>, t: Throwable) {
hideProgressBar()
Log.e("error", t.localizedMessage)
}
})
}
}
我做了什么 我已将响应类型从 https://gist.github.com/kyodgorbek/d0d9b3749ac64f15b4db87874cfe13e7
您在 CurrenciesResponse.class
中的 getCurrencies()
方法具有 return 类型的 CurrenciesResponse
而它应该是 List<CurrenciesResponse>
.
您需要修复 retrofit's service interface
。