Quando provo a fare un WindowManager.removeView(),C'è un modo per verificare se Android WindowManager contiene già una vista?
E/AndroidRuntime(2445): java.lang.IllegalArgumentException: View=android.widget.LinearLayout{41a03700 V.E..... ......I. 0,0-0,0} not attached to window manager
E/AndroidRuntime(2445): at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:370)
E/AndroidRuntime(2445): at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:299)
E/AndroidRuntime(2445): at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79)
ottengo questo errore fatale perché la vista non era nel window manager. Non c'è modo di verificare se windowmanager abbia già aggiunto la vista in precedenza? Non vedo tale metodo nella source
Posso provare il tuo suggerimento, ma non sembra "giusto". Un'eccezione IMHO non dovrebbe essere ignorata - quando c'è un bug nel mio programma, ignorare l'eccezione sarà brutto. – likejiujitsu
Sono d'accordo, non dovresti ignorarlo, ma è una potenziale soluzione. Ho aggiunto un'altra idea. –
facendo il try-catch e ignorandolo, ha funzionato ... lasciami provare la tua altra idea. È robusto? mai sentito parlare di token finestra. – likejiujitsu