에 텍스트 뷰 캐스트 할 수없는,하지만 난 난관으로 실행했습니다. 이주는 코드는 명확하지 않지만 사용자 정의 Recyclerview.Adpater
을 구축 할 때,이 방법이 있습니다RelativeLayout의는 내가 <code>RecyclerView</code>을 만들기에 <a href="https://developer.android.com/training/material/lists-cards.html" rel="nofollow noreferrer">this</a> 가이드를 따라 한 LayoutInflator
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
TextView v = (TextView) LayoutInflater.from(parent.getContext())
.inflate(R.layout.my_text_view, parent, false);
// set the view's size, margins, paddings and layout parameters
...
ViewHolder vh = new ViewHolder(v);
return vh;
}
지금, 나는 R.layout.my_text_view
어디에서 온 알아낼 수없는 것입니다. 그들은 레이아웃 파일에서 그것을 지정하지 않았습니다. 그래서 어댑터에 코드를 넣으려고 할 때 심볼이 발견되지 않는다고 말했습니다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_recycle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".recycle.RecycleActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".recycle.RecycleActivity"/>
<include
layout="@layout/toolbar_main"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/my_text_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
을하지만 여전히를 찾을 수 없기 때문에 나는 아직도 R.layout.my_text_view
에 my_text_view
을 사용할 수 없습니다 : 그래서, 내 TextView
에 ID로했다. 나는 또한 을 시도했는데, 은이라는 것을 찾을 수있다.하지만 id가 아니라 레이아웃이 필요하다고 말한다. 그래서 나는이 같은 R.layout.activity_recycle
사용하여 시도 :
@Override
public RecycleViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
// create a new view
TextView v = (TextView) LayoutInflater.from(parent.getContext())
.inflate(R.layout.activity_recycle, parent, false);
// set the view's size, margins, paddings and layout parameters
return new ViewHolder(v);
}
을하지만 그것은 작동하지 않았다, 나는 예외를 얻을 :
java.lang.ClassCastException가 : android.widget.RelativeLayout가 안드로이드에 캐스트 할 수없는 .widget.TextView
나는 무엇을 놓치고? 이 신비한 my_text_view
은 어디에서 왔으며 어떻게 사용합니까? 당신이하고있는
R.layout.activity_recycle은 레이아웃입니다. textview는 레이아웃을 사용하지 않습니다. 그것은 레이아웃 아이템 ID를 취할 것입니다. –
R.layout.my_text_view는 리사이틀보기에서 목록 항목과 동일하게 펼쳐지는 레이아웃이나 카드와 같습니다. –
이 답변을 확인하고 해당 자습서를 따르십시오. http://stackoverflow.com/a/41499210/7130121 –