2012-05-14 81 views
1

我正在構建一個應用程序,其中用戶使用用戶名和密碼登錄,LoginActivity以外的其他活動必須具有註銷選項。我在這裏訪問過幾個線程,關於它有一個想法,即如何以編程方式做到這一點,但我不能想到「放置此註銷按鈕的位置?」。如何在所有活動上放置註銷按鈕?

我很想擁有一個導航欄或動作欄,如熱門活動,例如面向Android的Facebook,面向Android或Google Play商店的Twitter。由於將來在這個動作/導航欄上添加附加功能會更容易。我應該如何繼續?任何博客,教程或鏈接將有很大的幫助...

我針對的是Android 2.1+設備。這裏有一些主題,我已經看過... Using same logout function in all activities

Performing logout

How to logout等等......其結果是有大約後端邏輯一些想法(使用意圖和意圖過濾器等)用於註銷,但無法弄清UI設計。

編輯 在某些答案,建議使用動作條,但我知道它只是3.0+後可用,我如何爲2.1+提供這樣的功能,請幫助...任何教程,博客或指南將有很大的幫助..我不希望代碼只是一些指針開始...

回答

3

一個解決方案是,包括註銷按鈕,如果有任何與其關聯的佈局, 包括標籤佈局文件。像

<include> </include> 

有了這個,你至少不必多次創建它。

若要在按鈕的單擊偵聽器中調用它,請在Global類中使用帶有上下文作爲參數的方法。因此,您可以從所有活動中調用它,避免再次重寫代碼。

+0

我真正體會到了入住且您提供簡單的答案(+1)任何情況下,但我怎麼能提供一個UI類似於Facebook或Twitter,頂級操作欄有一組按鈕,這些按鈕都具有重要的功能,並且可以在所有活動中使用...除了登錄活動。對此有任何想法? – aProgrammer

+0

是的,爲什麼不使用ActivityGroup?我沒有親自使用它,但是AcitivtyGroup就是用於這個原因的。 – nithinreddy

2

正如你在你的鏈接文章中所說的,在你的layoutFiles中使用<incude></include>來包含一個小小的註銷按鈕或某事將是一個好主意。
此外,您可以嘗試構建一個BaseActivity,其中所有其他活動都是從基本活動擴展而來的。 (什麼一句話)。

要確保你不要泄露你可以使用一個ApplicationContext對象(任何活動通過getApplicationContext()得到它)

+0

對於BaseActivity建議+1。但是我無法得到有關getApplicationContext()的事情...如何可以有用?對不起,如果這是一個愚蠢的問題,我是一個Android的新手... – aProgrammer

+0

沒有它的不;; ...你需要一個上下文來膨脹的東西,如果你持有一個上下文作爲(強)參考你會泄漏它,你的應用程序崩潰。爲了避免你可以使用「getApplicationContext」,這個上下文是unLeakable(afaik)...但也許你不需要留意它,而baseActivity的東西只適用於你;) – Thkru

+0

我該如何構建類似於Facebook/Twitter/G + App for Android的Action Bar(每個人都有一個通用操作欄,它提供了多種功能... – aProgrammer