簡體   English   中英

Android:從非活動類更新TextView

[英]Android: Update TextView from Non-Activity Class

我正在編寫一個Android應用程序,我需要顯示非活動類的一些結果。 基本上,我的應用程序會獲取當前位置,活動和其他信息,在這些應用程序上,我會運行一些功能,例如檢查用戶之前是否曾在該位置。 無論如何,一個意圖觸發了這些函數,並且在函數的結尾,我想用這些函數的結果更新TextView。

但是,它似乎在MainActivity之外的任何地方都不起作用。 我嘗試將TextView設為靜態,但這似乎行不通,並且也不可能將結果返回給MainActivity,因為它不是直接從MainActivity調用的。

是否有人對如何解決這個問題有想法? 這是我的第一個android項目,所以還有很多我不知道的事情。 謝謝!

我不知道您的代碼到底是什么樣子,但是您是否有一個模型類來保存所有數據(例如,某種單例)? 如果是這樣,您可以將更新的文本保存在那里,然后以回調方法更新TextView。

如果這與您的工作不符,我將考慮重構您的代碼,以便將所需的文本發送回MainActivity。 您提到沒有直接調用該方法,但是您的計算可以將文本傳遞給中間類,然后將其傳遞給MainActivity嗎?

您不應該更新ui drom后台線程。 如果要從后台線程更新ui,請使用Handlers,AsyncTask或其他一些線程概念。

如果要更新服務或廣播接收器的用戶界面,例如,您現在在broadReceiver的onReceive內部接收到一條消息,請使用sendBroadcast更新ui,並在您的活動中注冊一個動態廣播接收器,然后更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM