android eventbus 实现fragment跳转到activity
时间: 2023-11-19 17:31:30 浏览: 201
Android EventBus 是一款开源框架,它提供了一种在组件之间进行解耦的方式。
要实现从 Fragment 跳转到 Activity,可以按照以下步骤操作:
1. 在 Fragment 中定义一个事件类,例如:
```
public class StartActivityEvent {
private Class activityClass;
public StartActivityEvent(Class activityClass) {
this.activityClass = activityClass;
}
public Class getActivityClass() {
return activityClass;
}
}
```
2. 在 Fragment 中注册 EventBus,例如:
```
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
```
3. 在 Fragment 中发送事件,例如:
```
EventBus.getDefault().post(new StartActivityEvent(MainActivity.class));
```
4. 在 Activity 中定义一个事件接收方法,例如:
```
@Subscribe(threadMode = ThreadMode.MAIN)
public void onStartActivityEvent(StartActivityEvent event) {
Intent intent = new Intent(this, event.getActivityClass());
startActivity(intent);
}
```
5. 在 Activity 中注册 EventBus,例如:
```
@Override
protected void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
```
6. 在 Activity 中取消注册 EventBus,例如:
```
@Override
protected void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
```
这样,当 Fragment 发送 StartActivityEvent 事件时,Activity 就会收到该事件并启动指定的 Activity。
阅读全文