Spinnerを強制的に閉じるには

492 views
Skip to first unread message

K・F

unread,
Jun 4, 2013, 5:24:50 AM6/4/13
to android-g...@googlegroups.com
お世話になります。
現在、Spinnerを一度開いて、一定時間操作が無かったら、強制的にSpinnerを閉じるようにしようと思っているのですが、閉じるような命令を出す関数が見つからずに困っています。setSelectionで値を変更すれば自動的に閉じるかと思ったのですが、値が変わるだけで閉じませんでした。
Spinnerを強制的に閉じるような命令はあるのでしょうか?
よろしくお願いします。

しかじろう

unread,
Jun 4, 2013, 7:03:27 AM6/4/13
to android-group-japan
しかじろうです。

開いたSpinnerのポップアップを閉じるAPIは無さそうですね。

Spinnerのポップアップが閉じるのはSpinnerの項目をタッチした時と、
Viewがwindowからdetacheされた時みたいです。

Spinner.java 263行目(API15の場合)
-----

@Override

protected void onDetachedFromWindow() {

super.onDetachedFromWindow();



if (mPopup != null && mPopup.isShowing()) {

mPopup.dismiss();

}

}
-----

一度Spinnerをレイアウトからremoveして、すぐaddしたらいけないかな?
(憶測)

だめだったら偉い人が素敵なコメントをくれるはず・・・!


2013/6/4 K・F <kisaragi....@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan?hl=ja
> からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
>
>



--
/**
* @name : しかじろう【渡辺 慎二郎】
* @blog : http://shikajiro.github.com/
* @mail : shik...@gmail.com
* @profile http://shikajiro.github.com/#/about/index
*/

K・F

unread,
Jun 4, 2013, 10:03:08 PM6/4/13
to android-g...@googlegroups.com
しかじろう様、ご返信ありがとうございます。
こちらの方でもその後、タッチイベントを呼んだりバックキーのイベントを呼んだりと、色々と試してみましたが、やはり閉じませんでした。どうもそういう仕様と見ていいようですね。やるなら自作した方が早そうです。
removeしてaddというご意見ですが、xml上で配置したスピナーでやると上手くいきませんでした。レイアウトが決められていると難しいようですね。やり方がまずいだけかもしれませんが。
取りあえず、通常のスピナーでは難しいという事で結論を出しておこうと思います。やるなら自作、という事になりますね。
ありがとうございました。


2013年6月4日火曜日 20時03分27秒 UTC+9 shikajiro:
しかじろうです。

開いたSpinnerのポップアップを閉じるAPIは無さそうですね。

Spinnerのポップアップが閉じるのはSpinnerの項目をタッチした時と、
Viewがwindowからdetacheされた時みたいです。

Spinner.java 263行目(API15の場合)
-----

    @Override

    protected void onDetachedFromWindow() {

        super.onDetachedFromWindow();



        if (mPopup != null && mPopup.isShowing()) {

            mPopup.dismiss();

        }

    }
-----

一度Spinnerをレイアウトからremoveして、すぐaddしたらいけないかな?
(憶測)

だめだったら偉い人が素敵なコメントをくれるはず・・・!


2013/6/4 K・F <kisaragi....@gmail.com>:
> お世話になります。
> 現在、Spinnerを一度開いて、一定時間操作が無かったら、強制的にSpinnerを閉じるようにしようと思っているのですが、閉じるような命令を出す関数が見つからずに困っています。setSelectionで値を変更すれば自動的に閉じるかと思ったのですが、値が変わるだけで閉じませんでした。
> Spinnerを強制的に閉じるような命令はあるのでしょうか?
> よろしくお願いします。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。
Reply all
Reply to author
Forward
0 new messages