2012-02-20 22 views
24

Có cách nào tôi có thể ngăn chặn các cảnh báo riêng lẻ về các chuỗi được mã hóa cứng trong các tệp bố cục không?bất kỳ cách nào để ngăn chặn cảnh báo về "chuỗi mã cứng" trong tệp bố cục?

Tôi thường đặt văn bản giữ chỗ vào TextViews để tôi có thể xem chúng trong bố cục tại thời điểm thiết kế. Nhược điểm của việc này là nhận được rất nhiều cảnh báo về các chuỗi được mã hóa cứng. Nhưng nếu không có chúng tôi sẽ không thấy TextViews ở tất cả trong layout.

+0

Tôi lấy nguyên tắc sử dụng 'strings.xml', nhưng đôi khi có trường hợp bạn biết bạn chỉ sử dụng chuỗi một lần .. – Jacksonkr

+1

Câu hỏi hay. Có vẻ như sẽ tốt hơn nếu có một số ký tự thoát để cho phép văn bản như một trình giữ chỗ, ví dụ: "" – Daniel

Trả lời

14

Trong Eclipse, vào Window-> Preferences-> Android-> Lint Error Checking.

Cuộn xuống và chọn Văn bản được mã hóa cứng (trong Quốc tế hóa). Trên hộp thả xuống Mức độ nghiêm trọng, chọn Bỏ qua và nhấp vào Áp dụng.

1

Sử dụng string.xml tập tin để xóa cảnh báo này ....

Bạn phải đặt chuỗi của bạn trong file string.xml và sau đó cung cấp như android:text="@string/mytext"

Và trong res-->value->string.xml add <string name="mytext">Your Text</string>

http://tools.android.com/tips/lint

+0

liên kết tốt, không bao giờ nhận thấy trang web công cụ android trước đây .. trông giống như một số thông tin hữu ích ở đó là – ycomp

+0

cảm ơn đề xuất nhưng điều này cho biết thêm nhiều vấn đề hơn giải quyết cho tôi ... Tôi thích giữ chuỗi tập tin tương đối sạch – ycomp

29

Bạn có thể thêm dòng sau vào các yếu tố xem văn bản:

tools:ignore="HardcodedText" 

Ví dụ:

<TextView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="This is a hardcoded text" 
     tools:ignore="HardcodedText" /> 

Lưu ý có một phím tắt trong Eclipse để thêm này một cách dễ dàng: chỉ cần nhấn tổ hợp phím CTRL + 1 và chọn tùy chọn có liên quan.

Thật không may, tôi không thể tìm cách để thực hiện việc này cho toàn bộ bố cục, bạn sẽ phải làm điều đó cho từng phần tử.

Lưu ý rằng bạn cũng phải thêm thuộc tính xmlns:tools="http://schemas.android.com/tools đến phần tử gốc

+0

đã thêm các công cụ: bỏ qua 'ViewGroup' không hoạt động? –

+0

Đây là những gì tôi muốn. Tôi không muốn bỏ qua tất cả cảnh báo lint android. Chúng rất hữu ích, nhưng đôi khi chúng làm tôi phát điên vì tôi biết và tôi không cần nó :) –

+4

Lưu ý rằng bạn cũng phải thêm 'xmlns: tools =" http://schemas.android.com/tools " 'thuộc tính cho phần tử gốc, nếu không bạn sẽ nhận được các lỗi như" Lỗi phân tích cú pháp XML: tiền tố không liên kết ". –

21

Một cách khác là sử dụng tools:text thay vì android:text:

<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    tools:text="This is a hardcoded text" /> 

Lưu ý rằng bạn cũng phải thêm thuộc tính xmlns:tools="http://schemas.android.com/tools đến phần tử gốc

+2

Tôi tìm thấy điều này tốt hơn so với 'tools: ignore =" HardcodedText "' vì bản xem trước thực sự hiển thị nó – Shine

+1

Whaou, tôi không biết về điều đó, tuyệt vời tìm thấy – Redwarp

+1

Tôi thích câu trả lời này, nhưng linter phàn nàn về các công cụ: hardcoded quá, đó là ngớ ngẩn vì nó chỉ là văn bản mẫu mà không được biên dịch vào ứng dụng ... dường như không có bất kỳ cách nào để tắt nó đi ... – Andrew

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