使用
eclipse和
Android SDK,我使用Button和ProgressBar管理了一个简单的测试应用程序.所有运行正常,除了我不想ProgressBar移动按钮,当ProgressBar是可见的,所以只是为了测试,我改变了它们在res / layout / main.xml文件中定义的顺序(使用LinearLayout中).编译并运行我,然后在下面的“最后的ProgressBar …”行中得到一个ClassCastException.
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是什么意思,我只是不明白为什么它出现.我不是试图把一个Button转换成ProgressBar.我不明白
解决方法
尝试清理项目,以便R类再次生成.有时值不会更新.