2011-09-22 60 views
0

因此,我想要做的是更改一些ui元素,這些元素在我的主要活動中進行了擴展 - 並且我希望這些更改由onReceive觸發是從廣播接收者擴展到不同的單獨的類。處理SMS- onReceive觸發另一個活動/類中的事件

我想這樣做

public class SmsReceiver extends BroadcastReceiver { 
public void onReceive(context, intent){ 

MainActivity main = new MainActivity(); //this is my... main activity :) 

main.button.setBackgroundColor(Color.green); 
}//end onReceive 

}//end class 
在我的MainActivity

,我已經設置值,像這樣的GUI按鈕元素:

public class mainactivity extends activity... implements onclick... bla bla(){ 
Button button; 

onCreate....{ 
    button = (Button)findViewById(R.id.button); 

,所以我想知道當onReceive被激活時,我可以通過實例化該活動並在其上調用setter方法來編輯另一個活動中的小部件的狀態?

回答

0

您的方法將不起作用,因爲您正在創建MainActivity的新實例。這不會引用您當前的活動主要活動。您可以嘗試的一個解決方案是將另一個意向發送給您的活動並在您的活動中實施onNewIntent(Intent newIntent)。通過這種方式,您可以更新您在該功能中的主要活動,嘗試使用收到的新信息傳遞額外信息。

+0

doh。謝謝!現在你指出了,有道理...... – kleaver

相關問題