我想要建立連接到藍牙設備的Android應用程序,並打印UI Thread
「連接」,如果設備成功connceted。 但我不知道如何轉移線程之間的值 有人可以幫助我嗎?我如何更新從線程的uithread
0
A
回答
0
你有幾種方法。最簡單的方法是使用Activity.runOnUiThread()
方法(有關更多信息,請參閱here)。
您也可以使用Handler
s完成此操作,它可以將兩個不同的Thread
s相互通信。您在UI線程中定義Handler
,將其傳遞給處理程序,然後使用它將消息發送到UI Thread
。一個很好的例子可能是here。您也可以使用當地BroadcastReceiver
。你只需在你想要處理數據的地方定義接收器(如此,UI線程)並在這裏處理任何你想要的東西。一個很好的例子是here。
2.後者基於Intent
S,所以你需要確保數據你傳遞工具Serializable
或Parcelable
或者是Intent
支持的數據類型。
---- ----編輯
要更新TextView
,用你的Thread
內是這樣的。它會在你UI
線程中運行所需的行動,所以你就能毫不費力地從Thread
更新View
S:
try {
runOnUiThread(new Runnable() {
@Override
public void run() {
TextView tv = (TextView) findViewById(R.id.your_textview);
tv.setText("My text updated within a Thread");
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
0
儘量使用靜態變量是最簡單的方法
1
如果你只是想顯示UIThread
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Toast.makeText(this, "Connected", Toast.LENGTH_SHORT).show();
}
});
乾杯請發表您的代碼,我會更新的答案。
0
0
張貼上面還我已經使用這個從線程更新視圖您可以選擇runOnUiThread
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what == 1) {
changeText(); //here you can make changes on UI
}
}
只是把它從一個線程
textHandler.sendEmptyMessage(1);
相關問題
- 1. 非UiThread的線程
- 2. TPL BackgroundThread UIThread圖形更新
- 3. 如何從線程更新UI?
- 4. 如何從performSelectorInBackground線程更新UITextView?
- 5. 如何從線程更新Kivy元素?
- 6. 如何從線程更新UI
- 7. 如何從線程更新表單
- 8. 如何從工作線程更新UI線程中的視圖
- 9. windows phone 7 EventDispatcher線程和UIThread
- 10. 什麼是Android UiThread(UI線程)
- 11. 如何從工作線程/類更新GUI線程/類?
- 12. 如何將AsyncTask更改爲@background和@UiThread
- 13. 從線程更新Swing GUI
- 14. 更新從多個線程
- 15. 從ViewModel更新UI線程
- 16. 從線程更新textView
- 17. 從線程更新UI
- 18. 如何從一個新的線程vb.NET網站更新UI
- 19. AndroidAnnotations的@UiThread如何實現?
- 20. 爲什麼我的窗口沒有從我的線程更新?
- 21. 如何從線程更新WPF應用程序中的UI?
- 22. 如何更新線程中的listview?
- 23. 如何更新線程內的JApplet GUI?
- 24. 如何從任何線程更新Firefox中的狀態消息?
- 25. 跨線程更新線程
- 26. 的Android如何更新從其他類(UI線程)(真的嗎?)
- 27. 從工作線程調用更新UI線程是如何工作的?
- 28. 更新的JLabel從另一個線程
- 29. 從線程更新TextView中的文本
- 30. 從getView內的線程更新視圖?
謝謝您的回答,但我不明白如何訪問我的T如果使用在UI上運行的連接活動extView方法 – user3320803
我更新了我的答案,看看它是否可以幫助你。 – nKn