你可以得到通過廣播接收器值......如下,首先建立自己的IntentFilter如,
Intent intentFilter=new IntentFilter();
intentFilter.addAction("YOUR_INTENT_FILTER");
然後創建內部類廣播接收器的,
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
/** Receives the broadcast that has been fired */
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction()=="YOUR_INTENT_FILTER"){
//HERE YOU WILL GET VALUES FROM BROADCAST THROUGH INTENT EDIT YOUR TEXTVIEW///////////
String receivedValue=intent.getStringExtra("KEY");
}
}
};
現在註冊您的廣播接收器在onResume()as,
registerReceiver(broadcastReceiver, intentFilter);
最後取消註冊BroadcastRec eiver中的onDestroy()的,
unregisterReceiver(broadcastReceiver);
現在最重要的部分......你需要火從任何地方你需要發送值廣播.....這樣做的,
Intent i=new Intent();
i.setAction("YOUR_INTENT_FILTER");
i.putExtra("KEY", "YOUR_VALUE");
sendBroadcast(i);
....歡呼:)
感謝這個提示。這很有幫助。請看下面的堆棧觸摸事件流到我的活動 MyDemo.dispatchTouchEvent(MotionEvent)行:20 PhoneWindow $ DecorView.dispatchTouchEvent(MotionEvent)線:1696 ViewRoot.handleMessage(消息)線:1658 的ViewRoot(處理器) .dispatchMessage(消息)行:99 Looper.loop()line:123 //事件處理從這裏開始 ActivityThread.main(String [])line:4203 這裏ViewRoot是一個Handler。我想獲得這個處理程序的參考...是否有可能從我的應用程序中獲取? – iLikeAndroid 2011-06-21 06:04:30
@iLikeAndroid:如果你沒有創建'Handler',你不能訪問它,AFAIK。 – CommonsWare 2011-06-21 11:41:21
謝謝。我試圖創建一個ViewRoot的實例。這不過是一個處理程序。現在我可以在這個處理程序上發出消息。處理程序正在收到消息。但ViewRoot無法處理該消息,因爲它未正確初始化。我需要調用ViewRoot.setView()將適當的數據初始化爲ViewRoot。我想知道是否有默認視圖或基礎視圖等,我可以用它來初始化? – iLikeAndroid 2011-06-21 14:50:19