[問題] Handler or PropertyChange更新UI
我的問題有點難描述,
用程式碼呈現又有點困難,整包很多東西...
簡單的說,我希望我的class當中數值改變的時候,可以發message給兩個Activity,
讓那兩個Activity的UI做出對應的改變。
前言:
兩個Activity,一個是MainActivity 內容顯示各data class的數值(Gridview)
一個是SubActivity extends Activity
implements java.beans.PropertyChangeListener
一個data class,內容有int value (以下代稱class)
一個背景Thread 一直再跑TCP socket,
當收到資料,會去改變class中的value,
其中利用class.setValue()來改變class中的數值。
需求:
MainActivity會顯示class中的value。
在MainActivity點按鈕會啟動SubActivity,
SubActivity會顯示class當中的value。
做法:
1.採用PropertyChangeListener的做法,
在class中用firePropertyChange去通知兩個Activity做改變。
但這樣的做法在每次SubActivity啟動的時候,都無法取得class正確的數值。
(在SubActivity啟動時,加入PropertyChangeListener到class裡面)
因為第一個方法不行,朋友建議使用Handler來做。
(原Po以前只有用過Handler是跨Thread傳遞數值。)
2.使用Handler
在class裡面宣告Handler,在MainActivty的View class裡面建立接收訊息的Handler()
但是,完全收不到class發過來的訊息!!! 囧
請問版友們,是否我有誤解Handler的用法?
另外關於這樣的需求,有沒有建議的解決方法呢?
請多指教~謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.208.253
※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1396429128.A.091.html
→
04/02 17:10, , 1F
04/02 17:10, 1F
→
04/02 17:11, , 2F
04/02 17:11, 2F
→
04/02 17:13, , 3F
04/02 17:13, 3F
→
04/02 17:42, , 4F
04/02 17:42, 4F
→
04/02 18:18, , 5F
04/02 18:18, 5F
→
04/02 18:18, , 6F
04/02 18:18, 6F
推
04/02 18:45, , 7F
04/02 18:45, 7F
→
04/03 17:34, , 8F
04/03 17:34, 8F
推
04/03 20:54, , 9F
04/03 20:54, 9F
→
04/03 20:55, , 10F
04/03 20:55, 10F
→
04/03 20:56, , 11F
04/03 20:56, 11F