关于BroadCast,startActivityForResult以及EventBus
2017-05-18 16:52
183 查看
BroadCast的使用
1.动态注册广播:
第一个界面
第二个界面:
startActivityForResult的使用
EventBus的使用
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; } }
相关文章推荐
- Fragment中StartActivityForResult以及EventBus的使用问题
- Intent的用法(一),启动activity传递数据以及startActivityForResult
- 关于startActivityForResult你可能不知道的
- 关于startActivityForResult
- [Android]嵌套Fragment以及startActivityForResult()
- 关于在Fragment中使用startActivityForResult();方法后onActivityResult()未被调用的解决方案
- Android开发系列(十三):Intent实现Activity之间的转换以及startActivityForResult传递参数
- 关于startActivityForResult()
- 关于StartActivityForResult的使用
- startActivityForResult的用法,以及intent传递图片
- 关于fragment里面调用startActivityForResult,onActivityResult没有反应的学习
- 关于startActivityForResult跳转页面返回时onActivityResult回调无法执行的问题
- android startActivtyForResult以及ExpandableListActivity的使用
- 关于ActivityA中的FragmentA 启动 ActivityB,FragmentA的startActivityForResult回调的问题
- 【Android】关于startActivityForResult的问题
- Intent的用法(一),启动activity传递数据以及startActivityForResult .
- 关于StartActivityForResult与setResult对activity执行生命周期影响
- 关于startActivityForResult、onActivityResult和singleTask
- 关于startActivityForResult
- 关于Fragment里面调取startActivityForResult 调取onActivityResult不执行原因