关于BroadCast,startActivityForResult以及EventBus
来源:互联网 发布:米塞斯 人的行为知乎 编辑:程序博客网 时间:2024/06/16 18:15
BroadCast的使用
1.动态注册广播:
第一个界面
public class MainActivity extends AppCompatActivity { //声明广播 private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(mContext, "接收到广播发送的数据了", Toast.LENGTH_SHORT).show(); tvContent.setText("广播数据"); } }; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { //注册 IntentFilter filter = new IntentFilter(); filter.addAction("com.bsoft.function"); registerReceiver(mReceiver, filter); }@Override protected void onDestroy() { super.onDestroy(); //反注册 unregisterReceiver(mReceiver); }}
第二个界面:
sendBroadcast(new Intent("com.bsoft.function"));
startActivityForResult的使用
//第一个界面 Intent intent = new Intent(mContext, SecondActivity.class); startActivityForResult(intent, REQUEST_CODE); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { int age = data.getIntExtra("age", -1); String name = data.getStringExtra("name"); tvContent.setText("name: "+name+"\n"+"age: "+age); } }
//第二个界面 Intent intent = new Intent(); intent.putExtra("name", "李书记"); intent.putExtra("age", 18); setResult(RESULT_OK, intent); finish();
EventBus的使用
//第一个界面中 //注册 EventBus.getDefault().register(this); //反注册 EventBus.getDefault().unregister(this);//EventBus 发送消息后执行的方法 @Subscribe(threadMode = ThreadMode.MAIN) public void onEventExpert(EventExpert event){ tvContent.setText("姓名:"+event.getName()+"\n"+"年龄:"+event.getAge()); }
//第二个界面EventBus.getDefault().post(new EventExpert("李专家",28));
//EventBus中通过类来传递数据public class EventExpert { private String name; private int age; public EventExpert(String name, int age) { this.name = name; this.age = age; } public int getAge() { return age; } public String getName() { return name; }}
阅读全文
0 0
- 关于BroadCast,startActivityForResult以及EventBus
- Fragment中StartActivityForResult以及EventBus的使用问题
- EventBus、Handler、Broadcast用法
- 关于startActivityForResult
- 关于startActivityForResult()
- 关于startActivityForResult
- 关于 startActivityForResult
- 源码探索系列5---关于Broadcast、LocalBroadcastManager 、EventBus的比较和源码解析
- 关于Broadcast
- 关于EventBus
- 使用EventBus代替startActivityForResult向上传递数据
- 使用事件总线eventbus替代startactivityforresult
- 关于startActivityForResult问题
- 关于StartActivityForResult的使用
- 关于短信黑名单 BroadCast
- 关于broadcast receiver
- 关于activity/service/broadcast
- [Android]嵌套Fragment以及startActivityForResult()
- 浪潮之巅读后摘录
- java编程题之水仙花数
- composer安装(ubuntu centos 实验过)
- Linux class 类接口的使用
- 【深度学习】梯度下降和反向传播
- 关于BroadCast,startActivityForResult以及EventBus
- Java之反射
- eclipse启动tomcat时遇到超时45秒的解决办法
- AfxGetInternetHandleType
- log4j2 使用详解
- I/O流(三)
- LintCode-在二叉查找树中插入节点
- android图片压缩
- 简介