【Android Studio】ActivityNotFoundExceptionを解決した話。(命名に気を付ける)


Android で画面遷移ができない

画面を変えたいがどうしてもできない。コードを全部見直したけどできない。
なぜできないのかわからずいろいろ試行錯誤したが、原因は単純だった。

エラー:ActivityNotFoundExceptionの原因は、アクティビティの名前をListActivityとしていたことだった。

リストを表示したいからという浅はかかつ単純な理由でこの名前にしたが、じつはこのクラスはandroid.appの下にすでにあった。
Developers->ListActivity

解決法

エラーはおそらく命名のせいで、ListWorkActivityと名前を変えたらちゃんと画面遷移できた。

あとは、インテントの引数でListActivityを指定するときにパッケージを指定してもこのエラーは吐かなくなると思われる。

//名前を変えた場合
Intent intentList = new Intent(MainActivity.this, ListWorkActivity.class);
startActivity(intentList);

//完全修飾名でクラスを指定した場合
Intent intentList = new Intent(MainActivity.this, com.example.appName.ListActivity.class);
startActivity(intentList);

非常に初歩的なミスをしてしまった。
というわけで、クラスの命名には気を付けることにしよう。思わぬ罠であった。