2013-11-02 23 views
9

vâng, tôi đã tra cứu!Nhận xét trong bố cục XML không hoạt động

<!-- comment --> 

có vẻ là lựa chọn đúng đắn, nhưng tôi nhận được một lỗi trong android-studio Gradle: Lỗi phân tích cú pháp XML: tạo không đúng (không hợp lệ token)

khi tôi làm điều này

<ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    <!-- android:background="?android:attr/selectableItemBackground" --> 
    android:id="@+id/imageButton" 
    android:layout_alignParentTop="true" 
    android:src="@drawable/gfx_select_medium" 
    android:layout_marginRight="22dp"/> 

bất kỳ trợ giúp nào được đánh giá cao, thx!

+0

di chuyển nó ra ngoài ImageButton và thử – Raghunandan

+0

Xin vui lòng gửi toàn bộ XML, có lẽ lỗi là ở mã của bạn thay vì nhận xét. – NitroNbg

+0

@NitroNbg tin tôi đi. Bạn không thể đặt nhận xét bên trong thẻ xml – Blackbelt

Trả lời

8

Không thể đặt nhận xét XML bên trong đánh dấu thẻ. Di chuyển nhận xét ví dụ ở trên hoặc bên dưới thẻ ImageButton của bạn.

Đây là spec tham khảo, với sự nhấn mạnh thêm:

nhận xét có thể xuất hiện bất cứ nơi nào trong tài liệu ngoàikhác đánh dấu

đâu markup được định nghĩa là:

Đánh dấu có dạng thẻ bắt đầu , thẻ kết thúc, thẻ phần tử trống, tham chiếu thực thể, tham chiếu ký tự, nhận xét, phân tách phần CDATA, khai báo kiểu tài liệu, hướng dẫn xử lý, khai báo XML, khai báo văn bản và bất kỳ khoảng trắng nào ở cấp cao nhất của thực thể tài liệu (nghĩa là, bên ngoài phần tử tài liệu và không nằm trong bất kỳ đánh dấu nào khác)

+0

có, nhưng tại sao không thể? – Blackbelt

4

Nó không chỉ AS. Bạn cần phải đặt ý kiến ​​của bạn bên ngoài của thẻ cuối cùng của bạn </> nên làm điều gì đó như

<ImageButton 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/imageButton" 
android:layout_alignParentTop="true" 
android:src="@drawable/gfx_select_medium" 
android:layout_marginRight="22dp"/>  
<!-- android:background="?android:attr/selectableItemBackground" --> 

Xem this linkthis one từ W3 về bình luận xml. Tóm lại, nó nói

[Định nghĩa: Nhận xét có thể xuất hiện ở bất kỳ đâu trong tài liệu ngoài đánh dấu khác;

thông báo

bên ngoài đánh dấu khác

từ liên kết đầu tiên và

[Định nghĩa: Markup có dạng khởi động thẻ, cuối thẻ , ...

từ liên kết thứ hai

+0

vì vậy bất cứ nơi nào bên trong tệp bố cục không hoạt động vì mọi thứ ở trong cấp độ đầu tiên. đó là không sử dụng nhiều! – steveh

+0

@steveh no, chúng ** có thể ** nằm bên trong tệp bố cục như được chỉ ra trong câu trả lời. Họ không thể ở bên trong thẻ bắt đầu/kết thúc cho các nút khác. Nhưng chúng ** có thể ** nằm trong thẻ bắt đầu/kết thúc của phần tử gốc. – codeMagic

2

Bạn nên biết rằng nhận xét trong tệp xml được coi là nút của loại bình luận Xml, vì vậy nếu bạn tải tệp xml, các nút đó sẽ được tải và bạn có thể tránh chúng hoặc lọc chúng khi phân tích cú pháp nội dung đã tải.

Vì vậy, Đây sẽ là định dạng đúng,

<ImageButton 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/imageButton" 
android:layout_alignParentTop="true" 
android:src="@drawable/gfx_select_medium" 
android:layout_marginRight="22dp"/>  
<!-- android:background="?android:attr/selectableItemBackground" --> 

Hoặc bạn có thể thấy điều này link ..

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