假设你有A,B,C,D,E,F几个页面, A 是列表,A->B,或者A->C B->D->E-F F 是发布页, A页面从B,C,D,E返回时都是不需要刷新的,只有从F返回,A才需要刷新 这种情况不知道各位是怎么解决的
在说个你有一个service是轮询后台服务器的查看用户消息数,当有新消息时,如果用户在msg页面,需要刷新当前页
你是通过广播机制处理吗?写起来很烦吧
还有假设在第一个页面的左侧滑中,会显示用户的头像,用户名等信息,你是每次打开侧滑时你是一直获取数据吗,当然有人知道可以放到perference中
但是什么时候更新perference中的数据了,用户更新了各种资料,发布了什么都可以更新数据,维护这个更新也不容易吧
@Inject
EventBus bus;
//这个是在后台处理事件 bus.registerListener("事件名", "监听器名字", new OnEventListener(){ @Override public Boolean doInBg(Event event) { super.doInBg(event); Log.v(log_tag, "我是在后台线程处理的请勿操作UI,我接受到的参数是"+event.getParams()[0]); return false; } }); 或者 //这个是前台处理事件 bus.registerListener("事件名", "监听器名字", new OnEventListener(){ @Override public Boolean doInUI(Event event) { super.doInUI(event); dialoger.showToastShort(EventBusOneActivity.this, 我是在UI线程处理的,我接受到的参数1是"+event.getParams()[0]+"我接受到的参数2是"+event.getParams()[1]); return false; } });
bus.fireEvent("事件名","可以传递多个参数","参数2");
bus.unregisterListener("事件名","监听器名");
bus.clearEventTime("事件名", "监听名");
@OnEvent(name="事件名",ui=true,onBefore=true) public void onEvent2(String p1,String p2){ dialoger.showToastShort(this, "事件2触发参数1:"+p1+"参数2:"+p2 ); }
@Override protected void onResume() { super.onResume(); EventInjectUtil.inject(this); } @Override protected void onStop() { super.onStop(); EventInjectUtil.unInject(this); }