読者です 読者をやめる 読者になる 読者になる

超初心者のAndroidアプリ開発ノート

専業主婦、プログラミング経験0からのスタート!本とGoogleに頼って勉強中。分からないこと、調べたことを載せていきます。

45日目 凡ミスに泣き、googlに助けられる。

現在、掌田津耶乃さんのAndroid StudioではじめるAndroidプログラミング入門で勉強中。現在P218あたり。

「RadioButtonの切り替え」をしているけれど、

このErrorが消えなくて前に進めません。

要は、Fragmet 画面で作ったものをプログラムできちんと動かせるようにしている(はず)なんだけど、

f:id:hipopocroco:20141026005803p:plain

Class'Anoymous class derived from OnCheckedChangeListener' must either be declared abstract or implement abstract method 'onCheckedChanged(RadioGroup,int)'in 'OnCheckedChangeListener'

そこで、これをそのまま検索にかけると、、、

なんと出た!!!!!!!!!

すごい!!!!google先生!!!!

おんなじことで悩んでる人がこの世界にいるって感動。


java - getting an error for must implement the inherited abstract method - Stack Overflow

でも、悲しいくらい簡単な凡ミス。

The name of the method in your code is wrong. You have:

publicvoidOnCheckedChanged(RadioGroup group,int checkedId)

You need:

publicvoid onCheckedChanged(RadioGroup group,int checkedId)^

Java is case sensitive.

 

ずーっとエラーのなみなみのところしか見てなかった。public void Oncheckedのところに注目! Oをoに変えてみる。

f:id:hipopocroco:20141026011350p:plain

Errorが消えた!!

f:id:hipopocroco:20141026011403p:plain

f:id:hipopocroco:20141026011924p:plain

動いた!

長かった。。。

このトラブル解決にかかった時間。昨日から今日にかけて3時間くらい。。

もっとも、Fragmentのコードも違ってたのでそっちも直していたから時間がかかったんだけど。

Oじゃなくて、oなのね。。。

以前、0(ゼロ)で間違えてたこともあった。。。

よくわかったよ。

Java is case sensitive...

心に刻もう。

 

それにしても、googleってやっぱりすごい!!