2016-12-09 4 views
0

Я пытаюсь работать над проектом материального дизайна, где я создаю макет списка. Ошибка, как следует:android.widget.LinearLayout не может быть добавлен в android.support.v7.widget.RecyclerView at onCreateView фрагмента

java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.support.v7.widget.RecyclerView at (package).ListContentFragment.onCreateView 

OnCreateView код класса фрагмента, как следует:

RecyclerView recyclerView = (RecyclerView) inflater.inflate(
      R.layout.recycler_view, container, false); 
    ContentAdapter adapter = new ContentAdapter(recyclerView.getContext()); 
    recyclerView.setAdapter(adapter); 
    recyclerView.setHasFixedSize(true); 
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); 
    return recyclerView; 

XML-файл фрагмента, как следует:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
xmlns:tools="http://schemas.android.com/tools" 
android:background="?android:attr/selectableItemBackground" 
android:padding="@dimen/md_keylines"> 

..... 

</RelativeLayout> 

в полный код можно найти по адресу: Code on github

+0

'android.widget.LinearLayout не может быть приведен к android.support.v7.widget.RecyclerView' Итак, вы в основном хотят, чтобы преобразовать яблочный пирог в банан ... –

+0

яблочный пирог был преобразован в банан по адресу: [link] (https://github.com/googlecodelabs/android-design-library/blob/master/4-RecyclerView/src/main/java/com.example.android.materialdesigncodelab/ListContentFragment.java) – james

+0

Нет , он не был преобразован. Они даже не пытались. Или они получат такую ​​же ошибку. –

ответ

0

A layou t manager позиционирует представления элементов внутри RecyclerView и определяет, когда повторно использовать представления элементов, которые больше не видны пользователю.

ContentAdapter adapter = new ContentAdapter(recyclerView.getContext()); 

    recyclerView.setHasFixedSize(true); 
mRecyclerView.setHasFixedSize(true); 

    // use a linear layout manager 
    mLayoutManager = new LinearLayoutManager(this); 
    mRecyclerView.setLayoutManager(mLayoutManager); 
    recyclerView.setAdapter(adapter); 
+0

Я просто запускаю ваше решение, но его все равно то же самое. Я получаю ту же самую старую ошибку – james

+0

@AffanRafique у меня есть обновленный код PLZ так же –

+0

его то же самое, ничего не работало – james

Смежные вопросы