Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ClassCastException: android.widget.Button

I have a really really really strange issue here.

I have this line of code:

SeekBar mProgressBar =  (SeekBar) findViewById(R.id.SeekBar);

And it throws a ClassCastException: android.widget.Button as the title indicates. The XML file looks like this:

...
<SeekBar
android:id="@+id/SeekBar"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
/>
...

If I change the code to

Button mProgressBar =  (Button) findViewById(R.id.SeekBar);

It "works" (e.i that single line works. The programs then fails for other reasons because it's now a button). I have the exact same line in another file without problems. Any idea what could be wrong?

like image 776
Martin Hansen Avatar asked Dec 01 '22 08:12

Martin Hansen


2 Answers

Must be an outdated auto-generated R class. Sometimes it gets messed up, i had it just moments ago. Try to clean the project and rebuild again. Or change something in the layout XML and save, Eclipse should refresh the R class (that is, if you're using eclipse).

like image 75
compostus Avatar answered Dec 05 '22 01:12

compostus


If it's an outdated R class and your Eclipse is not updating it, then just create a new XML layout file with the same contents as the previous one. Then delete the previous layout file. Your R class should then be updated. I have this problem frequently on Linux, and this is the solution that works for me.

Choosing Project -> Clean does NOT solve my problem on Linux because the R class doesn't get recreated...

like image 25
IgorGanapolsky Avatar answered Dec 05 '22 00:12

IgorGanapolsky