private
static handler shandler = null;
@override
public
void
oncreate()
public
static handler gethandler()
乙個uiloader封裝類
public
abstract
class
uiloader
extends
framelayout
public uistatus mcurrentstatus = uistatus.none;
//保證了只有唯一的入口
public
uiloader
(@nonnull context context)
public
uiloader
(@nonnull context context,
@nullable attributeset attrs)
public
uiloader
(@nonnull context context,
@nullable attributeset attrs,
int defstyleattr)
//初始化ui
private
void
init()
public
void
updatestatus
(uistatus uistatus)})
;}private
void
switchuibycurrentstatus()
//設定是否可見
loadin**iew.
setvisibility
(mcurrentstatus == uistatus.loading ? visible : gone)
;//成功
if(successview == null)
successview.
setvisibility
(mcurrentstatus == uistatus.success ? visible : gone)
;//網路錯誤
if(neterrorview == null)
neterrorview.
setvisibility
(mcurrentstatus == uistatus.network_error ? visible : gone)
;//空頁面
if(emptyview == null)
emptyview.
setvisibility
(mcurrentstatus == uistatus.empty ? visible : gone);}
protected view getemptyview()
protected view getnetworkerrorview()
}});
return view;
}protected
abstract view getsuccessview
(viewgroup container)
;private view getloadin**iew()
public
void
setonretryclicklistener
(onretryclicklistener listener)
public
inte***ce
onretryclicklistener
}
這裡面的有三個介面是寫死的,所以自己寫出介面到時候就會顯示出來
其中的正在載入中的介面
舉栗說明,乙個詳情介面,成功時顯示recyclerview
private
void
inituiloader()};}
if(muiloader.
getparent()
!= null)
mframelayout.
addview
(muiloader)
; muiloader.
setonretryclicklistener
(this);
}
private view createsuccessview
(viewgroup container)})
;return view;
}
在網路錯誤對應的地方加上
muiloader.
updatestatus
(uiloader.uistatus.network_error)
;
在資料載入完成之前加上
if
(uiloader != null)
在資料載入成功地方加上
if
(muiloader != null)
@override
public
void
onretryclick()
任務棧 安卓四種啟動模式
這是 activity 的預設啟動模式,每次啟用 activity 的時候都會建立乙個新的 activity 例項,並放入任務棧中。使用場景 基本絕大多數地方都可以用。singleinstance 在乙個新棧中建立該 activity 的例項,並讓多個應用共享該棧中的該 activity 例項。一旦...
安卓四種啟動模式使用場景
1 singletop適合接收通知啟動的內容顯示頁面。例如,某個新聞客戶端的新聞內容頁面,如果收到10個新聞推送,每次都開啟乙個新聞內容頁面是很煩人的。從外界可能多次跳轉到乙個介面 2 singletask適合作為程式入口點。例如瀏覽器的主介面。不管從多少個應用啟動瀏覽器,只會啟動主介面一次,其餘情...
安卓學習筆記 Activity的四種啟動模式
standard,singletop,singletask,singleinstance 在 androidmanifest.xml 中給 activity 標籤指定 android lunchmode 屬性 activity的預設啟動模式 每啟動乙個activity就會在棧頂建立乙個新的例項。缺點...