子執行緒如何非同步更新Fragment的UI介面

2021-07-25 18:23:04 字數 564 閱讀 6390

通過handler通知fragment_contacts介面!

public class loadfrienddb extends thread 

public class fragment_contacts extends fragment }};

}:::

}

但是問題來了,由於非同步執行了執行緒,時間是不一定的!有時候執行緒執行完畢了!但是操作介面沒有停留在

fragment_contacts時就會報錯:「空指標」!

如果登陸後馬上切換到fragment_contacts介面,則正常!

但是實際上這種操作是不靠譜的,因為該fragment只是其中乙個而已。 我懷疑是執行緒執行後,而fragment由於沒有切換過去,所以還沒有載入完畢!

我想得到的效果就是執行緒能夠正常執行,介面不需要停留在指定的fragment上面!如果停留了,也能看非同步看到資訊更新了!

希望能給例子說明一下,或者說說思路,給點重要方法函式等,謝謝各位。

Qt子執行緒如何更新UI?

和其他語言類似,不能直接在子執行緒更新ui,可以通過signal slot機制在ui執行緒進行更新。signal slot機制可以在不同物件,不同執行緒之間進行通訊。例子 include mainwindow.h include include class mythread public qthre...

執行緒非同步更新UI

winform程式一般是不允許非主線程操作ui,單可以通過執行緒與委託的方式並結合control類提供的begininvoke機制進行ui更改 如下,這是更新ui的方法 private void upuimethod 1 建立委託 private delegate void delegateupui...

子執行緒更新UI

一般在winform c s程式中經常會在子執行緒中更新控制項的情況,桌面程式ui執行緒是主線程,當試圖從子執行緒直接修改控制項屬性時會出現 從不是建立控制項的執行緒訪問它 的異常提示。跨執行緒更新ui控制項的常用方法有兩種 1.使用控制項自身的invoke begininvoke方法 2.使用sy...