純粋な疑問だ。
NFCのタグを待っている間、くるくるを出そうと思った。
サンプルを見ると、setTitle()やsetMessage()に文字列を設定している。
まあ、サンプルだからそういうもんだよな、とR.string.fooみたいなのを設定すると、setTitle()はいけるのに、setMessage()はエラーになった。
そういう実装なんだから、仕方ないと言えば仕方ないんだけど、なんでだろう?
show()なんかも、ことごとくCharSequenceを引数に取ってるし。
そういえば、AndroidはいつからかBuilderで作るようになってたな、と思い出した。
ProgressDialog.Builder builder = new ProgressDialog.Builder(this);
こんな感じでやっていくと、setMessage()もresidを受け付ける。
よしよし、と、最後にcreate()でProgressDialogにキャストし、SPINNERの設定をさせた。
さて、実行!
・・・キャストできません、と落ちた。
キャスト失敗って動的な例外なんだ、という感想はさておき、なんでだめなんだろう?
ProgressDialogはAlertDialogの派生だから、キャストしても悪くなさそうなのに。
(だから静的にはエラーが出てないんだろうけど。)
使いたければ使えばいいし、カスタマイズするなら自分でやればいいじゃないの、というスタンスなんだろうか・・・。