2016-12-16 15 views
0

私の主なアクティビティは、singleInstanceモードです。主なアクティビティのインスタンスを別のクラスに保持しているので、他のアクティビティでは主なアクティビティのインスタンスに到達することを期待しています。しかし、別のアクティビティを開くと、主なアクティビティで何も変更できません。例外は次のとおりです。現時点では画面に表示されていないアクティビティインスタンスを使用しています

Exception when adding starting window 

java.lang.IllegalArgumentException: View=com.android.internal.policy.PhoneWindow$DecorView{2f18818 V.E...... R.....ID 0,0-0,0} not attached to window manager 
    at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:424) 
    at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:350) 
    at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:116) 
    at com.android.server.policy.PhoneWindowManager.addStartingWindow(PhoneWindowManager.java:2359) 
    at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:7840) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.os.HandlerThread.run(HandlerThread.java:61) 
    at com.android.server.ServiceThread.run(ServiceThread.java:46) 

これは許可された状況ではありませんか?スタックの最上部にないアクティビティのビューを変更するにはどうすればよいですか?

+2

あなたはメインアクティビティのonResume関数の変更を行う必要があります。 sharepreferencesまたはデータベースを介して2番目のアクティビティでパラメータを保存し、主な活動のonResumeメソッドでそれらを使用する –

+1

アクティビティクラスの参照を保持するとメモリリークが発生し、実行しようとしていることを実行するためのより良い方法があります –

+0

@JayakrishnanPm what a完全に間違っていてひどい提案である – EpicPandaForce

答えて

1

あなたがメッセージを送信する場合、または活動の間で情報を述べている場合、ハンドラ・メッセージのモデルは、それらが見えないときは、アクティビティを更新しないはずです

関連する問題