2017-06-11 5 views
3

私はRelativeLayoutを持っています。その中で私はいくつかのビューを作成します。ToggleButtonユーザーは、これらのToggleButtonsをオンまたはオフに設定できます。メニューを開くのを聞く

アクティビティのOptionMenuを開くと、これらのToggleButtonsはすべてOFFになります。これを行うには、onPrepareOptionsMenuコードでToggleButtonsをOFFにプログラムで設定しています。

またImagebuttonにはPopupMenuが登録されています。また、ユーザがImagebuttonのToggleButtonsをOFFにすることで、PopupMenuを開いたときにも欲しいです。ですから、イメージボタンのsetOnClickListenerコードでトグルボタンをオフにしています。

私の問題は、OptionsMenuまたはPopupMenuが閉じられた後にのみ、トグルボタンの状態(オフ)への更新が表示されることです。代わりに、ユーザーがメニューを開くとすぐにすべてのToggleButtonsがOffになります。私はいくつかのビューでいくつかOnFocusChangeListenerを使用しなければならないと思った。私はアクティビティの一番上のレイアウトでそれを使用しようとしましたが、動作しません。

私は望む結果をどのように得ることができますか?

答えて

0

私はこのように、onWindowFocusChangedメソッドをオーバーライドすることにより、ソリューションを自分自身を見つけた:

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    if (!hasFocus) { 
     //code to turn off togglebuttons goes here 
    } 
} 
関連する問題