Используя eclipse и Android SDK, я создал простое тестовое приложение с Button и ProgressBar. Все работает нормально, за исключением того, что я не хотел, чтобы ProgressBar перемещал кнопку, когда ProgressBar стал видимым, поэтому просто для тестирования я изменил порядок, в котором они определены в файле res / layout / main.xml (который использует LinearLayout). После компиляции и запуска я получаю ClassCastException в строке «final ProgressBar ...» ниже.
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 01-06 14:37:39.590: E/AndroidRuntime(863): java.lang.RuntimeException:
java.lang.ClassCastException: android.widget.Button cannot be cast to
android.widget.ProgressBar */
final ProgressBar progressbar = (ProgressBar) findViewById(R.id.progressBar1); /* here */
progressbar.setVisibility(ProgressBar.GONE);
final Button exebutton = (Button)findViewById(R.id.button1);
exebutton.setOnClickListener(new View.OnClickListener()
// etc...
Теперь я понимаю, что говорит и означает ClasCastException, я просто не понимаю, почему оно появляется. Я не пытаюсь передать кнопку в ProgressBar. Я не понимаю ...