Изменен порядок в main.xml, теперь я получаю ClassCastException

Используя 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. Я не понимаю ...

9
задан Cristian Lupascu 6 January 2012 в 14:50
поделиться