[Android] 「要素タイプ ”xxx” の後に属性指定 ”>” または ”/>” のいずれかがなければなりません。」が解決できないコピペプログラマに捧ぐ

要素タイプ "xxx" の後に属性指定 ">" または "/>" のいずれかがなければなりません。

コピペプログラマの皆さんこんにちは。進捗どうですか?

797069065

この記事を読んでいるということは、おそらくダメなのでしょう。こんなところに時間を費やしている暇はありません。さっさと解決しましょう。

貴様、コピペしているなッ!

いくらタグを確認しても表題のエラーが解決出来ないというあなた。おそらくレイアウトxmlのコードを、どこかからコピペしてきたのではないでしょうか?

スクリーンショット 2014-04-28 17.44.16

はい、私です。

タグ内の空白部分を疑おう

そんな時は、Lintエラーが発生しているタグ内の空白文字を疑いましょう。

スクリーンショット 2014-04-28 17.44.41

試しにこの空白文字をコピーして、文字コードを見てみましょう。

文字コードが確認できるエディタならなんでも良いのですが、手元の開発環境がMacなのでCotEditorに貼り付けてみます。

スクリーンショット 2014-04-28 17.44.59

はい。「0x00A0」空白改行ですね。詳しい原因までは追っていませんが、どうやらxml内にこいつが含まれているとビルドエラーになるようです。コードに含まれているこの空白文字を取り除くことで、Lintエラーが解消されました。

スクリーンショット 2014-04-28 18.02.56

ちなみに通常の半角スペースは「0x0020」でした。Eclipse上ではパッと見「0x00A0」と「0x0020」の区別が付かないので、解決に手間取りましたとさ。

プロの力が身につく Androidプログラミングの教科書
藤田 竜史 要 徳幸 住友 孝郎 日高 正博 小林 慎治 木村 尭海
ソフトバンククリエイティブ
売り上げランキング: 53,454