ページ 11

onDrawが呼び出せない

Posted: 2014年1月04日(土) 15:07
by MitiMinish
androidの館を見てプログラミングをしているのですが、

s2.09の章のプロジェクトをダウンロードして、
GameMgr.javaのコードを書き換えると、

Suspicious method call; should probably call "draw" rather than "onDraw"

というエラーが出ます。

何も書き換えない状態なら動くことは確認しているので、
何か設定がおかしいと思うのですが、
どうすればいいでしょうか。

回答よろしくお願いします。

Re: onDrawが呼び出せない

Posted: 2014年1月04日(土) 16:05
by softya(ソフト屋)
onDrawが無くなっているということはありませんか?
ただ、変更点を具体的に書いて貰わないと的確には答え辛いです。

Re: onDrawが呼び出せない

Posted: 2014年1月04日(土) 17:16
by ISLe
それはコンパイルエラーではなくてAndroid SDKのlintが発するメッセージですね。

onDrawを呼び出しているけどdrawの間違いじゃないのか?ってのがメッセージそのままの意味です。

onDrawというメソッド名はフレームワークが用意するコールバックイベントメソッドの形式なので、そういう名前の付け方は良くない。
アプリ側で呼び出して使うメソッドの名前はdrawであるのがふさわしいということです。

lintはAndroidの館ができたときにはまだありませんでした。
他にもAndoir SDKはバージョンアップしてあちこち変わっています。

Re: onDrawが呼び出せない

Posted: 2014年1月12日(日) 19:53
by MitiMinish
とりあえずonDraw(Canvas c)という関数名がいけないようなので、
myDraw(Canvas c)として実行することができました。
draw(Canvas c)でなくても実行できました。

androidの館の情報が最新のSDKで作られたものではないということがわかりました。

回答ありがとうございます。