APP开发实战64-Activity数据传递机制

16.4.2数据传递机制

(1)使用Activity系统函数传递数据

(2)使用自定义接口函数传递数据

(3)使用广播消息传递数据

示例代码如下:

publicstatic void registerApiListener(Context context, BroadcastReceiver receiver,String actionId) {

LocalBroadcastManager.getInstance(context).registerReceiver(receiver,new IntentFilter(actionId));

}

privatevoid sendResponseData(Response response) {

Intent intent = new Intent(API_ACTION_RAW_RESPONSE);

intent.putExtra(API_RESPONSE_OBJECT,response);

LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

}

@Override

public void onReceive(Context context,Intent intent) {

Serializable dataObject =

intent.getExtras().getSerializable(ApiService.API_RESPONSE_OBJECT);

Object responseObject =

((Response)dataObject).getResponseObject();

processResponseObject(context,responseObject);

LocalBroadcastManager.getInstance(context).unregisterReceiver(this);

}

用这种方式可以解决类似A->B->C->A这样多级Activity/Fragment间使用

startActivityForResult/onActivityResult这种机制无法传递数的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容