1.可以使用BroadcastReceiver
說說思路虾标,通過新建廣播接收器淮阐,動態(tài)注冊廣播接收器,由登錄按鈕點擊發(fā)送廣播矩乐,在廣播接收器接收龄句,接收后在onReceive中做出邏輯判斷,然后將得到的值存在全局變量中散罕,在需要判斷頁面變化的頁面加入判斷分歇。
public?classMyBroadcastReceiverextendsBroadcastReceiver {
Contextcontext;
MyBroadcastReceivermb;
publicMyBroadcastReceiver(Context
context) {
this.context= context;
mb=this;
};
publicvoidregisterAction(String
action) {
IntentFilterfilter =newIntentFilter();
filter.addAction(action);
context.registerReceiver(mb, filter);
}
@Override
publicvoidonReceive(Context
context, Intent intent) {
if(intent.getBooleanExtra("userpass",false)){
MainTab03.isLogin=true;
}else{
MainTab03.isLogin=false;}
}
}
2.EventBus思路跟廣播一樣的
啥叫EventBus?
來自百度大人的::EventBus是一個Android端優(yōu)化的publish/subscribe消息總線欧漱,簡化了應(yīng)用程序內(nèi)各組件間职抡、組件與后臺線程間的通信。比如請求網(wǎng)絡(luò)误甚,等網(wǎng)絡(luò)返回時通過Handler或Broadcast通知UI缚甩,兩個Fragment之間需要通過Listener通信,這些需求都可以通過EventBus實現(xiàn)靶草。
作為一個消息總線蹄胰,有三個重要的主要元素:
--Event事件
--Subscriber事件訂閱者
--Publisher事件發(fā)布者,用于通知Subscriber有事件發(fā)生
基本使用步驟::
1.定義事件類型寫個事件類Event類
2.定義事件處理方法
Public void onEventMainThread
3.注冊訂閱者
一般寫在Fragment跟Activity的OnCreat()中
EventBus.getDefault().register(this);
4.取消訂閱者
一般寫在Fragment跟Activity中的onDestroy()中
EventBus.getDefault().unregister(this);
5.發(fā)送消息
EventBus.getDefault().post(Event類對象);
簡單介紹到這吧奕翔,----具體可以查看博客:::http://www.cnblogs.com/angeldevil/p/3715934.html
也是用全局變量存boolean值裕寨,在事件接受中的onEventMainThread中寫IsLogin.isLogin= (Boolean)eb.getmData();
在每個頁面或者點擊邏輯判斷if(IsLogin.isLogin)做出邏輯
3.sharedpreferences這個也應(yīng)該可以,
我使用的是鴻洋大神的sharedpreferences封裝派继。附上鏈接地址http://blog.csdn.net/lmj623565791/article/details/38965311
不寫了宾袜,一會經(jīng)理該叨叨我了。
對了驾窟,如果運用ViewPager+Fragment寫的框架庆猫,取消viewPager的緩存機制,可以適當(dāng)?shù)目聪翭ragment的懶加載绅络,別問我月培,自個搜去嘁字。。