最近、Androidの勉強を始めました。
手始めに電卓のようなものを作ろうとしているのですが、2点ほどわからないこ
とがあります。
ご存じの方がいらっしゃいましたらご教授ください。
1.とある条件の時にSeekBarを操作禁止にしたいと思っていますが、setFocusable(false)
としても操作できてしまいます。どのような設定を行えばよいのでしょうか?
(VisualStudioでの Enabled=false のような状態を期待しています)
2.EditTextへの文字列入力時に、自動的にカンマを挿入するようにしたいと思っ
ています。(12345と入力したら12,345と表示されるような)
TextWatcher を実装して onTextChanged で CharSequence s を操作すれば
よさそうなところまではわかったのですが、カンマ入りに加工した後に s
に戻す方法がわかりません。どのようにすればよいのでしょうか?
以上、初心者の質問で申し訳ありませんがよろしくお願いいたします。
こんにちは。石川です。
> 1.とある条件の時にSeekBarを操作禁止にしたいと思っていますが、setFocusable(false)
> としても操作できてしまいます。どのような設定を行えばよいのでしょうか?
> (VisualStudioでの Enabled=false のような状態を期待しています)
setEnabledメソッドがあります。
> 2.EditTextへの文字列入力時に、自動的にカンマを挿入するようにしたいと思っ
> ています。(12345と入力したら12,345と表示されるような)
> TextWatcher を実装して onTextChanged で CharSequence s を操作すれば
> よさそうなところまではわかったのですが、カンマ入りに加工した後に s
> に戻す方法がわかりません。どのようにすればよいのでしょうか?
普通にEditTextに対して、setTextメソッドを実行すればいいと思いますが、
何も考えずにsetTextしたらその操作もTextWatcher の監視の対象になって、
メソッドが呼び出されまくって落ちたので、工夫が必要です。
2011年5月18日14:37 tnk <GBF0...@nifty.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>
ご回答ありがとうございます。
> setEnabledメソッドがあります。
そのものずばりのメソッドがあったのですね。勉強不足でした。
> 普通にEditTextに対して、setTextメソッドを実行すればいいと思いますが、
> 何も考えずにsetTextしたらその操作もTextWatcher の監視の対象になって、
> メソッドが呼び出されまくって落ちたので、工夫が必要です。
ご指摘の通り素直にsetTextを行うことにしました。
メソッドの繰り返し呼び出しに対しては、今回は文字列が希望するフォーマット
になっていないときのみsetTextを行うようにすることで対応しました。
onTextChanged内で文字列を加工できれば楽だと思ったのですがそう簡単ではな
いようですね。
ありがとうございました。