广播的使用

来源:互联网 发布:淘宝限时打折有用吗 编辑:程序博客网 时间:2024/05/21 14:53
第一个页面
1.注册广播 onCreat里面


/* 注册一个广播,用来刷新内容 */
LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(activity);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.intent.action.CART_BROADCAST2");
broadcastManager.registerReceiver(mItemViewListClickReceiver, intentFilter);


2.接受广播


/** 用于接收刷新数据 */
BroadcastReceiver mItemViewListClickReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {

ContactsDetails mContactsDetails = (ContactsDetails) intent.getSerializableExtra("contact");
if (mContactsDetails == null) { // 从创建页面过来的 需要刷新数据
exeContactsSelectListAsyncTask(false, "onReceive");
} else { // 从联系人详情页面过来的不需要刷数据
for (int i = 0; i < mContactsList.size(); i++) {
if (mContactsList.get(i).contacts_id.equals(mContactsDetails.contacts_id)) {
ContactsDetails contactsDetails = mContactsList.get(i);
mContactsList.set(i, mContactsDetails);
mPeopleAdapter.notifyDataSetChanged(mContactsList);
}
}

}

}
};

第二个页面
3.发送广播

Intent intent = new Intent("android.intent.action.CART_BROADCAST2");
intent.putExtra("people_str", mContactsSelectListResponse.result_json.contacts_count);
LocalBroadcastManager.getInstance(getActivity()).sendBroadcast(intent);
原创粉丝点击