Sử dụng nhật thực và SDK Android, tôi đã quản lý một ứng dụng thử nghiệm đơn giản với Nút và ProgressBar. Tất cả chạy tốt, ngoại trừ tôi không muốn ProgressBar di chuyển nút, khi ProgressBar được hiển thị, vì vậy chỉ để thử nghiệm tôi đã thay đổi thứ tự mà chúng được định nghĩa trong tệp res/layout/main.xml (sử dụng LinearLayout). Biên dịch và chạy tôi sau đó nhận được một ClassCastException tại "cuối cùng ProgressBar ..." dòng dưới đây.Thay đổi thứ tự trong tệp main.xml, bây giờ tôi nhận được 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...
Bây giờ, tôi hiểu những gì ClasCastException nói và có nghĩa là, tôi chỉ không hiểu tại sao nó xuất hiện. Tôi không cố gắng tạo một Button cho ProgressBar. Tôi không hiểu ...
bạn cũng có thể thêm tệp main.xml của mình không? Có vẻ như bạn đang cố gắng truyền một Button thành ProgressBar. – Ivan
Không, tôi không, ít nhất là ý thức (xem bài đăng). Đó là R.java không được cập nhật, xem bên dưới. – OppfinnarJocke
Cố gắng dọn dẹp và xây dựng lại dự án của bạn. Và dán tệp main.xml để chúng tôi có thể kiểm tra xem có vấn đề nào khác không (cố gắng loại bỏ một đối tượng và thêm lại nó). – Ivan