「public 型 ##### はそれ独自のファイル内に定義されなければなりません」
このエラーも、雛形だけ作ってよそからコードをもらってきて貼り付けたときによく起きるエラーだ。
対処方法は以下のとおり。
つまり、
AlertDialogSample.java
から
AlertDialogSampleActivity.java
に名前を変更すればいいということらしい。
ちなみに、直したときにActivity を Avtivity としてしまい、気付いて訂正して実行したら、Eclipseのプロジェクト・エクスプローラー上ではエラーは無かったし、ビルドでもエラーは無かったのに、端末上では「問題が発生したため、########## を終了します。」という表示が出て実行されない。
LogCatではこんな感じで赤字が並んでいる。
とにかく一番上の行を取り出してみて、書いてある内容で検索してみると、
Please add your Activity in your AndroidManifest.xml.
というのを発見した。
確かに、Activityの名前を変更したりしてておかしくなったんだから、これはちょっと関係あるかも、と思って AndroidManifest.xml をチェックしてみると。
さっき間違えた Avtivity のままになってる。
ので、これを修正したら、ちゃんとエラー無く実行された。
いったい、どの部分がどのタイミングで書き換えられるのかがよくわかってない。
試しに同じことをもう一度はじめからやってみて、今度は Activity のスペリングミスをしないでファイル名を書き換えたら、今度は AndroidManifest.xml の方がまったく書き換わってなかった。
ごにょごにょやってるときの操作のどれかがトリガーになって書き換えられているはずだが、ごにょごにょやってる本人が把握してやってないのでそのタイミングは謎のままだ。
本日のEclipse様からのお告げ
「public型 ##### はそれ独自のファイル内に定義されなければなりません」というエラーでは、#####は#####.javaに書いてなければいけないので、ファイル名を#####に変更してシンクロさせる。
それに関連して、プロジェクト・エクスプローラー上ではエラー表示が無いのに、実行したら端末側でエラーになる場合は、AndroidManifest.xml の Activity の記述を確認する。
Tweet