



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】Android中怎么實(shí)現(xiàn)全局一個(gè)Dialog
Android中怎么實(shí)現(xiàn)全局一個(gè)Dialog,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。分析:想要實(shí)現(xiàn)無論當(dāng)前應(yīng)用是處于哪一個(gè)頁面上,都能夠及時(shí)彈出Dialog功能其實(shí)很簡單,只要能獲取到當(dāng)前顯示的Activity就行了,也就是棧頂?shù)腁ctivity。實(shí)現(xiàn)過程:一般項(xiàng)目中我們都會通過一個(gè)類來管理我們的Activity,即AppManager/**
*
Activity管理類
*
@author
Donkor
*/
public
class
AppManager
{
private
static
Stack<Activity>
activityStack;
private
static
AppManager
instance;
private
AppManager(){}
/**
*
單一實(shí)例
*/
public
static
AppManager
getAppManager(){
if(instance==null){
instance=new
AppManager();
}
return
instance;
}
/**
*
添加Activity到堆棧
*/
public
void
addActivity(Activity
activity){
if(activityStack==null){
activityStack=new
Stack<Activity>();
}
activityStack.add(activity);
}
/**
*
獲取當(dāng)前Activity(堆棧中最后一個(gè)壓入的)
*/
public
Activity
currentActivity(){
Activity
activity=activityStack.lastElement();
return
activity;
}
/**
*
結(jié)束當(dāng)前Activity(堆棧中最后一個(gè)壓入的)
*/
public
void
finishActivity(){
Activity
activity=activityStack.lastElement();
if(activity!=null){
activity.finish();
activity=null;
}
}
/**
*
結(jié)束指定的Activity
*/
public
void
finishActivity(Activity
activity){
if(activity!=null){
activityStack.remove(activity);
activity.finish();
activity=null;
}
}
/**
*
結(jié)束指定類名的Activity
*/
public
void
finishActivity(Class<?>
cls){
for
(Activity
activity
:
activityStack)
{
if(activity.getClass().equals(cls)
){
finishActivity(activity);
}
}
}
/**
*
結(jié)束所有Activity
*/
public
void
finishAllActivity(){
for
(int
i
=
0,
size
=
activityStack.size();
i
<
size;
i++){
if
(null
!=
activityStack.get(i)){
activityStack.get(i).finish();
}
}
activityStack.clear();
}
/**
*
退出應(yīng)用程序
*/
public
void
AppExit(Context
context)
{
try
{
finishAllActivity();
ActivityManager
activityMgr=
(ActivityManager)
context.getSystemService(Context.ACTIVITY_SERVICE);
activityMgr.restartPackage(context.getPackageName());
System.exit(0);
}
catch
(Exception
e)
{
e.printStackTrace();
}
}
}再封裝一個(gè)BaseActivity類統(tǒng)一管理,給各個(gè)Activity繼承/**
*
Activity基類
*
@author
Donkor
*/
public
abstract
class
BaseActivity
extends
AppCompatActivity
{
@Override
protected
void
onCreate(@Nullable
Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
//將Activity實(shí)例添加到AppManager的堆棧
AppManager.getAppManager().addActivity(this);
}
@Override
protected
void
onDestroy()
{
super.onDestroy();
//將Activity實(shí)例從AppManager的堆棧中移除
AppManager.getAppManager().finishActivity(this);
}
}最后需要MainActivity(主頁面、主類)或者Service中處理Dialog的顯示問題
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Incadronic-acid-生命科學(xué)試劑-MCE
- Hercynine-Histidine-betaine-生命科學(xué)試劑-MCE
- Benzpyrimoxan-NNI-1501-生命科學(xué)試劑-MCE
- 2025年生物制藥研發(fā)合作合同范本
- 2025年度電子商務(wù)代理授權(quán)合同書(含品牌授權(quán)與推廣)
- 2025年度板材市場調(diào)研與采購數(shù)據(jù)分析合同
- 2025年度設(shè)備租賃與全程維護(hù)保養(yǎng)服務(wù)協(xié)議3篇
- 2025至2030年慢回彈高低枕項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年度汽車充電樁建設(shè)與運(yùn)營管理合同樣本4篇
- 2025年接待臺項(xiàng)目可行性研究報(bào)告
- 2022年中級注冊安全工程師(安全生產(chǎn)法及相關(guān)法律知識)考試題庫???00題及答案下載(四川省專用)
- 《未成年人保護(hù)法》課件
- 原發(fā)性肝癌經(jīng)皮肝動脈化療栓塞術(shù)(TACE)臨床路徑
- 成品檢驗(yàn)部在線抽檢記錄表
- 全國水資源綜合規(guī)劃技術(shù)細(xì)則(水利部文件)
- 司法拘留申請書3篇
- 2022年《國民經(jīng)濟(jì)行業(yè)分類》
- 2第二章 保護(hù)煤柱的設(shè)計(jì)
- 標(biāo)準(zhǔn)化炸藥庫建設(shè)方案
- 新華書店物流中心的規(guī)劃
- 各崗位說明書匯總1
評論
0/150
提交評論