1. 程式人生 > >Android自定義view與activity的傳值

Android自定義view與activity的傳值

重復 轉動 自定義 activit 廣播 內部 代碼 view 等待

昨晚在寫團隊項目的時候,遇到一個問題,直到今天早上才解決。。。即在自定義view“轉盤”結束轉動後獲取結果的處理中,我是想吧值傳到activity中的一個textview中的,但我的自定義view類不是activity的內部類,所以activity的屬性不能共享,無法在轉盤速度為0時獲取到覆蓋0度角的扇形所對應的字符串然後將其設置為textview的text,再者說,UI不能在子線程中更新,就算自定義view類是activity的內部類,也不能這麽簡單地更新UI。因為之前寫過一個activity的內部自定義view類,所以覺得這次這樣寫很不方便,感覺view和activity的通信變得更復雜,但我覺得把它模塊化再耦合會更好一點,畢竟這個類代碼全部塞到activity中也不是很好。說到UI不能在子線程中更新,好吧如果我把這個更新放在主線程中,又有一個問題了:本身等待轉盤速度變成0就是一個耗時操作,它的實現是通過畫一個個扇形實現的,不斷重復畫,一遍畫完然後速度減小(也就是扇形起始角增加變小),可見如果在activity主線程中等待的化,主線程十有八九會掛掉。今天早上解決了這個問題,起始不管自定義view是不是內部類,用線程+廣播就好了
未完待續。。

Android自定義view與activity的傳值