1

アプリのすべてのアクティビティでカスタムタイトルバーを使用しています。タイトルバーを操作したい放送受信機がありますが、

これはカスタムアプリケーションクラスにありますが、

    public class MyApplication extends Application {

        public static final String ACTION_RESPONSE = "org.company.com.action.MESSAGE_PROCESSED";                                                                                

        private final BroadcastReceiver receiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                MyApplication.log("received");
                //hide the visible progress dialog spinner in title bar

            }
        }; 

        public BroadcastReceiver getBroadcastReceiver() {
            return receiver;
        }   
    }

私はこれを私のアクティビティのすべてのonCreateに持っています。

MyApplication application = ((MyApplication) getApplication());
registerReceiver(application.getBroadcastReceiver(), new IntentFilter(MyApplication.ACTION_RESPONSE));

私がやろうとしているのは、これを行うための優れたOOP方法を見つけることです。アクティビティでbraodcastreceiverが宣言されている限り、すべてのアクティビティでビューを操作するbroadcastreceiverをバインドできますが、同じコードを15回以上コピーして貼り付けるのは意味がありません。次に、次の問題は、MyApplicationクラス内では、どのビューにもアクセスできないことです。誰かがこの問題を経験しましたか?

4

0 に答える 0