使用Intent bundle 注册一个回调
时间: 2023-12-10 11:40:04 浏览: 135
Intent bundle 是 Android 中一种传递数据的方式,用于在不同组件之间传递数据。要注册一个回调,可以通过 Intent bundle 在两个组件之间传递数据,然后在接收方组件中注册回调。
假设你要在 Activity A 中注册一个回调,然后在 Activity B 中触发回调。首先,在 Activity A 中创建一个 Intent,将要传递的数据放入 Intent bundle 中:
```java
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("callback", new MyCallback() {
@Override
public void onCallback() {
// Do something
}
});
startActivity(intent);
```
这里的 "callback" 是传递给 Activity B 的数据的 key,MyCallback 是一个实现了回调接口的类。在 Activity B 中,你可以获取 Intent bundle 中的数据,并执行回调:
```java
Intent intent = getIntent();
MyCallback callback = intent.getParcelableExtra("callback");
if (callback != null) {
callback.onCallback();
}
```
这里的 getParcelableExtra() 方法用于从 Intent bundle 中获取数据,然后执行回调。注意,在传递 MyCallback 对象时,必须实现 Parcelable 接口,以便能够在 Intent bundle 中传递。
阅读全文