你可以得到通过广播接收器值......如下,首先建立自己的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