【发布时间】:2020-03-28 16:16:47
【问题描述】:
我正在尝试在使用 Retrofit 解析数据后在 Activity 中实现 Recycler 视图。但问题是它显示 Recycler 视图即使在之前在 onCreate 方法内部初始化之后也不能为空访问。
Mainactitivty.kt
class MainActivity : AppCompatActivity() {
lateinit var myRecyclerView: RecyclerView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
retroInstance = RetroInstance()
val instance = retroInstance.getInstance()
val api = instance.create(RetroInterface::class.java)
val callAll=api.getAllDetail()
callAll.enqueue(object :retrofit2.Callback<ModelAll>{
override fun onFailure(call: Call<ModelAll>, t: Throwable) {
Toast.makeText(applicationContext,t.message,Toast.LENGTH_LONG).show()
}
override fun onResponse(call: Call<ModelAll>, response: Response<ModelAll>) {
val allDetail=response.body()!!
myRecyclerView=findViewById(R.id.recyclerView)
myRecyclerView.layoutManager=LinearLayoutManager(this@MainActivity)
myRecyclerView.adapter=CoronaAdapter(allDetail)
}
})
}
}
包含回收站视图的活动
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".AllCountries">
<SearchView
android:id="@+id/searchView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="2dp"
android:background="@drawable/custom_search"
android:elevation="5dp"
android:queryHint="Search here..."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/searchView" />
</androidx.constraintlayout.widget.ConstraintLayout>
Logcat https://gist.github.com/devpawann/af3cef9d204a6f99cd7ed11937684fa2
编辑:- 问题已解决,错误是我在另一个活动类中初始化回收站视图
【问题讨论】:
-
你能给我们看看你的activity_main.xml吗?
-
@ConfusedPup 我已经更新了。
-
这确实很奇怪你确定你正在导入正确的recyclerView吗?尝试在 OnResponse 之外调用它或检查 seachView 是否为空
-
@ConfusedPup 是的,它在 OnResponse 之外也显示相同
-
你能把你的错误logcat放上去吗
标签: android android-studio kotlin android-recyclerview