2010-07-12 33 views
8

Bất kỳ ý tưởng nào tại sao Eclipse lại gặp rắc rối và không nhận ra mã nó đã làm vài giây trước? Chữ "R" trong đoạn mã bên dưới có màu đỏ lóng lánh bên dưới nó khi nó không 5 phút trước và tôi đã không thay đổi mã nào. Điều này xảy ra thường xuyên với Eclipse và thường tôi tắt nó và khởi động lại nó và nó tốt để đi ... không đi lần này.Eclipse không nhận ra "R.id ..." với Android

// Initialize view elements 
    mSearchBox  = (EditText) this.findViewById(R.id.edittext_search); 
    mSearchButton = (Button) this.findViewById(R.id.button_search); 

Trả lời

10

có vẻ như lớp R cần phải được tạo lại, hãy thử thay đổi tệp bố cục và lưu nó để dự án xây dựng lại.

+1

Cảm ơn, nhưng điều đó không hiệu quả ... bất kỳ ý tưởng nào khác. – taraloca

+2

kiểm tra xem không có tệp xml nào của bạn có lỗi trong chúng hay không, nếu một trong số đó có, điều đó có thể khiến cho việc tạo R không thành công. bạn sẽ có thể thấy bất kỳ lỗi nào trong bảng điều khiển Android, cộng với kiểm tra cửa sổ "sự cố". –

+0

Cảm ơn ... Tôi đã gặp lỗi trong một trong các tệp xml của tôi. Đã khắc phục sự cố và sự cố đã được khắc phục. – taraloca

11

bạn đã vô tình nhập android.R. *; bởi bất kỳ cơ hội? Tôi nhập khẩu này và làm cho Eclipse không nhận ra tất cả các lớp R tạo khác, hãy chắc chắn bạn đang nhập một từ dự án của bạn:

import <project_name>.R; 
+0

Aaaarrggh ... điều này đã xảy ra với tôi nhiều lần! Không biết cách tôi cho phép nhập .R trong mã của tôi. Cảm ơn rất nhiều! –

+1

nhật thực cắn tôi lần nữa. – lalitm

1

Tính đến Android Development Tool (ADT) 14, các lĩnh vực tài nguyên như Thoát khỏi. không còn hằng số khi được xác định trong dự án thư viện. Điều này là cần thiết để làm cho các dự án thư viện có thể tái sử dụng mà không biên dịch lại chúng.

Có sửa chữa dễ dàng cho R.id. mà bạn biết là chính xác nhưng Android cho rằng nó không chính xác. (Giả sử tệp .xml của bạn là chính xác, mã java của bạn tham chiếu tài nguyên chính xác và bạn KHÔNG có câu lệnh "nhập android.R;")

  1. Đặt con trỏ trên báo cáo chuyển đổi và nhấp chuột phải vào nó.
  2. Chọn NHANH FIX. Eclipse sẽ chuyển đổi các chuỗi chuyển đổi của bạn thành các câu lệnh if-else if-else.
  3. Điều này sẽ khắc phục được R.id. vấn đề.
5

Đây là vấn đề rất phổ biến ở Android chỉ cần làm theo này,

  • Đi tới Dự án đơn
  • Lựa chọn tùy chọn "sạch".
  • Đảm bảo "Tùy chọn xây dựng tự động được chọn"

được thực hiện, lỗi R.java của bạn sẽ được giải quyết.

+2

Ok ... khi nó hoạt động (may mắn cần thiết) –

1

Tôi đã gặp phải sự cố tương tự. Tất cả những gì tôi đã làm là xóa câu lệnh "import android.R" và Eclipse tự động cung cấp cho tôi hàng nhập khẩu mà tôi cần. Một khi tôi nhấn lưu, tất cả các lỗi của tôi đã biến mất. Tôi đã vật lộn trong ba ngày để tìm ra điều này.

BTW - đảm bảo bạn thực hiện việc này với tất cả các tệp.

0

Ngoài các câu trả lời ở trên, lỗi này có thể xảy ra nếu bạn chưa khai báo gói trong tệp AndroidManifest.xml hoặc bạn đã khai báo gói sai. Đảm bảo rằng bạn có

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.applicationname" ... 
0

Nếu bạn cảm thấy mã của mình chính xác và bạn vẫn gặp lỗi này.

Nhấp chuột phải vào Dự án >> Dự án xây dựng và lỗi này sẽ biến mất.

Bạn cũng có thể giữ cài đặt nơi dự án được tạo tự động

Nhấp vào tab Dự án >> Tự động xây dựng.

Hy vọng điều này sẽ giải quyết được vấn đề của bạn !!

0

Bạn có thêm bất kỳ tệp hình ảnh nào vào thư mục drawable của mình không? Tệp hình ảnh có tên tệp không hợp lệ cũng có thể gây ra cùng một vấn đề.

Các vấn đề liên quan