1. 程式人生 > >關於在Fragment中通過Activity介面回撥操作Fragment中控制元件報空指標問題

關於在Fragment中通過Activity介面回撥操作Fragment中控制元件報空指標問題

現象描述:當Activity中某個變數改變時候,需要通知到Fragment我們常常用介面實現...。。我們在Activity中先replace,commit該Fragment,接著呼叫介面需要改變變數的方法。。。然後我們在Fragment中的介面回撥方法裡,更具該變數操縱Fragment裡的控制元件,這時常常會報該控制元件的空指標錯誤。

問題分析:看似是沒什麼錯誤,Fragment也commit了,裡面的空間自然初始化了。而介面回答也是再它之後的,應該不會報空指標的。。然而commit是執行會有延遲的。且我們Fragment中的控制元件初始化都是放在onCreateView方法裡。

處理方案:Fragment中對控制元件的處理儘量都放在onCreateView方法裡,不要放在介面回掉方法中。。介面回掉方法裡多是對用網路請求什麼的,可以把控制元件的操作放在網路請求返回後。