Android : java.lang.ClassCastException : android.widget.imageView를 android.widget.textView로 캐스트 할 수 없습니다.
내 목록보기 템플릿에서이 문제를 해결할 수 없습니다. 게시물 제목과 같은 오류가 있지만 imageview를 textview로 캐스트하지 않습니다. 내 코드는 다음과 같습니다.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="200dip"
android:layout_weight="1"
android:paddingBottom="10dip" >
<TextView
android:id="@+id/mq"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Metri quadri"
android:textColor="#33b5e5"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/citta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/mq"
android:layout_alignBottom="@+id/mq"
android:layout_centerHorizontal="true"
android:text="Citta"
android:textColor="#33b5e5"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/prezzo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="Prezzo"
android:textColor="#e1e1e1"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/nome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:padding="5dip"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="@string/testolungo"
android:textColor="#e1e1e1"
android:textSize="20sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/foto"
android:layout_width="80dip"
android:layout_height="60dip"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:contentDescription="Release"
android:padding="5dip"
android:scaleType="centerCrop"
android:src="@drawable/stub" />
<TextView
android:id="@+id/descsplash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Small Text"
android:textSize="16sp"
android:textStyle="italic" />
</RelativeLayout>
Java 코드에 대한 오류는 내 파일의 58 행에 있으며 TextView ID를 TextView mq에 할당합니다.
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.listlay, null);
TextView nome=(TextView)vi.findViewById(R.id.nome);
TextView mq=(TextView)vi.findViewById(R.id.mq); // here's the error (???)
TextView citta=(TextView)vi.findViewById(R.id.citta);
TextView prezzo=(TextView)vi.findViewById(R.id.prezzo);
ImageView image=(ImageView)vi.findViewById(R.id.foto);
TextView descrizione = (TextView)vi.findViewById(R.id.descsplash);
nome.setText(data.get(position).getNome());
mq.setText(data.get(position).getMetriQuadri());
citta.setText(data.get(position).getCitta());
prezzo.setText(data.get(position).getPrezzo());
descrizione.setText(data.get(position).getDescrizione());
imageLoader.DisplayImage(data.get(position).getForoUrl(), image);
다음은 logcat입니다.
06-25 16:08:32.497: D/Debug(14642): Prendo Textview MQ
06-25 16:08:32.497: D/AndroidRuntime(14642): Shutting down VM
06-25 16:08:32.497: W/dalvikvm(14642): threadid=1: thread exiting with uncaught exception (group=0x40a561f8)
06-25 16:08:32.497: E/AndroidRuntime(14642): FATAL EXCEPTION: main
06-25 16:08:32.497: E/AndroidRuntime(14642): java.lang.ClassCastException: android.widget.ImageView cannot be cast to android.widget.TextView
06-25 16:08:32.497: E/AndroidRuntime(14642): at com.prova.listview.LazyAdapter.getView(LazyAdapter.java:58)
Does anyone know how i can fix this problem?
Eclipse tends to mess up your resources every now and then. This leads to some odd behavior such as strings and images being swapped all over your app, and more commonly classCastException(s), which happen when Eclipse switches your Views' ids around.
A few solutions to that problem:
Clean your project.
Modify an xml layout file and save.
Delete your R file. (Don't worry it will be automatically generated again).
Basically anything that makes your project rebuild and re-generate the R file.
Just clean up your project and everything will be fine.
Some times this problem shows because we have created ImageView But Cast with Image Button as like this
<ImageView
android:id="@+id/iv_thumb"
android:layout_width="50dip"
android:layout_height="50dip"
/>
holder.imageView = (ImageButton) convertView.findViewById(R.id.iv_thumb);
we have declared Imageview but cast to ImageButton, for this reason also have face this problem.
Initially, I was getting error:
TextView : android:id="@+id/add_expected_seekbarvalue"
SeekBar : android:id="@+id/add_expected_seekbar"
As a fix, I renamed the id
for TextView
as
TextView : android:id="@+id/add_expected_valueseekbar"
Even clean up and other techniques didn't work but finally renaming the id worked like a charm.
for Visual Studio Xamarin.Android Development
Like mentioned by many, Cleaning the project did the trick for me on Visual Studio For my Xamarin.Forms app, it happened after pulling in changes with new library reference.
Clean your project.
Basically anything that makes your project rebuild and re-generate the Rosource.Designer.cs file. (Burrowed from @Benito Bertoli)
just clean your project... I also gone through similar problem.. after clean project everything will be fine..best luck
Maybe you have an image view in your .xml file and a button which dynamically generated and given an id in your java code and these two randomly get a same id and because of that you get this error. try to change the id which you have given in your code and it will be fine.
'developer tip' 카테고리의 다른 글
Integer 래퍼 클래스를 사용하여 생성되는 개체는 몇 개입니까? (0) | 2020.12.06 |
---|---|
Powershell에서 로그 파일 만들기 (0) | 2020.12.06 |
UICollectionViewCell의 사각형을 얻는 방법은 무엇입니까? (0) | 2020.12.06 |
문자열을 int64로 변환하는 Golang (0) | 2020.12.06 |
PHPStorm이 파일을 열 때 모든 메서드 / 기능을 축소하는 방법은 무엇입니까? (0) | 2020.12.06 |