я получаю ошибку:ClassCastException на layoutInflater.inflate (...)
java.lang.ClassCastException: android.widget.FrameLayout cannot be cast to android.widget.LinearLayout
Всякий раз, когда выполняется следующее:
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
LinearLayout mLinearLayout = (LinearLayout) layoutInflater.inflate(R.layout.item, parent, false);
return new ViewHolder(mLinearLayout);
}
Когда не имеет смысла, потому что это мой файл XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/item_text_view"/>
</LinearLayout>
Таким образом, корень файла XML должен быть LinearLayout, поэтому инфлятор должен возвращать LinearLayout, где я s он получает FrameLayout?
Является ли это xml файла под названием 'item' в папке макета? – Vucko
Да, это так. [15chars] – CaptainForge
Зачем вам нужно снимать? Просто используйте 'View v = inflater.inflate' –