【发布时间】:2015-02-18 06:14:18
【问题描述】:
我正在将 Activity 更改为 Fragment 并在我为 RecyclerView 充气后立即收到以下错误。
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
----> View rootView = inflater.inflate(R.layout.layout_containing_recyclerview,
container, false);
java.lang.IllegalStateException: RecyclerView 没有 LayoutManager
在我将 Activity 更改为 Fragment 之前,膨胀效果很好。
一些进一步的研究表明,从 recyclerview 布局中删除我的所有子元素有助于解决问题。但是,我不明白为什么这会改变任何事情以及为什么它之前确实可以与活动一起使用。
有效
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:scrollbars="vertical" >
</android.support.v7.widget.RecyclerView>
不工作
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
android:scrollbars="vertical" >
<View
android:id="@+id/randomview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</android.support.v7.widget.RecyclerView>
我在这里缺少什么?
【问题讨论】:
-
删除视图是可行的,但这并不是解决整个问题的方法,因为我们有时确实需要放置在那里的视图
标签: android android-fragments android-5.0-lollipop android-recyclerview