刚刚在我的代码中实现了RecyclerView,取代了ListView。
一切都很好。显示数据。
但是错误消息正在被记录:
15:25:53.476 E/RecyclerView: No adapter attached; skipping layout
15:25:53.655 E/RecyclerView: No adapter attached; skipping layout
对于以下代码:
ArtistArrayAdapter adapter = new ArtistArrayAdapter(this, artists);
recyclerView = (RecyclerView) findViewById(R.id.cardList);
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
正如您所看到的,我已经为RecyclerView附加了一个适配器。
为什么我总是得到这个错误呢?
我读过与这个问题相关的其他问题,但没有一个有用。
这对我很管用。
如果您正在使用模拟器,请执行此操作。
android:usesCleartextTraffic=“true”
如果你的cardviewxml设计是这样的,
android.support.v7.widget.CardView
用android x替换cardviewxml设计。
必须如此;
androidx.cardview.widget.CardView
如果你的recyclerview xml设计是这样的,
android.support.v7.widget.RecyclerView
用android x替换cardviewxml设计。
必须如此;
androidx.recyclerview.widget.RecyclerView
我有这个问题,一些时间的问题是recycleView放在ScrollView对象
检查实施后,原因似乎如下。如果RecyclerView被放到ScrollView中,那么在测量步骤中,它的高度是未指定的(因为ScrollView允许任何高度),结果是,它等于最小高度(根据实现),显然是零。
你有两个选项来解决这个问题:
设置一个高度为RecyclerView
设置滚动视图。fillViewport为true
或者保持RecyclerView在ScrollView之外。在我看来,这是目前为止最好的选择。如果RecyclerView的高度没有限制(当它被放入ScrollView中时就是这种情况),那么所有Adapter的视图在垂直方向上都有足够的位置,并且可以一次性创建。不再有视图回收,这有点破坏了RecyclerView的目的。
(可用于android.support.v4.widget。以及NestedScrollView)