我有一個使用TabHost並將不同活動加載到佈局的TabContent區域的應用程序。如果我點擊一個標籤,一個新的意圖就會啓動,開始活動。所有工作都很好,但我很好奇我如何處理以下事情。基本上,如果我點擊聯繫人的例子,contacts.java類被加載,我的contacts.xml佈局文件被用於setContentView。但是,如果我單擊我的contacts.xml佈局中的一個按鈕,比如說「管理聯繫人」,我需要在同一個tabcontent中加載的意圖,而且它似乎只是打開它自己的意圖,而不是在tabcontent區域內。有什麼我失蹤的方式TabHost是爲了工作?我應該有一個contacts.java類,只需設置不同的內容視圖,而不是真的開始一個新的活動?我有一個標題圖像和在我的main.xml佈局中定義的選項卡,我的main.java是包含tabhost的活動。我希望我的問題很明確,非常感謝任何幫助!從tabHost的tabContent區域中的活動開始活動
回答
http://www.mkyong.com/android/android-tablayout-example/ 檢查此示例,然後爲每個父級活動即,如果您有一個選項卡與聯繫人和配置文件。然後,聯繫人和個人將是你的父母activity.So延長該父活動的ActivityGroup,使該活動的靜態上下文和在活動中使用
Intent intent = new Intent(ctx, c);
View subView = getLocalActivityManager().startActivity(id,
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
replaceView(subView);
}
public void replaceView(View subView) {
viewStackList.add(subView);
setContentView(subView);
}
其中c是要切換的類調用的意圖to和viewStackList是View類型的ArrayList。這個數組列表被用於維護堆棧以用於返回點擊。
正如Eclipse可能告訴你的,TabHost
和所有相關的表格命令/函數都被棄用了。有了這個免責聲明,讓我告訴你,我仍然在使用它作爲我的應用程序!
我的印象是,使用標籤是讓你可以有一個活動,但多個視圖。這並不意味着你必須只有一個.java。
標籤之間切換,你應該只需要做tabHost.setCurrentTab(int);
也就是說,假設你建立你的標籤了。
是的,我的選項卡工作正常,但是如果我點擊我的其中一個選項卡,然後單擊tabcontent區域內的某個按鈕,啓動的活動不會加載到tabcontent區域內,它會在沒有選項卡的情況下加載在底部和我在頂部設置的頭像。無論如何強制意圖在特定tabcontent區域打開? – Phil 2013-05-07 18:55:02
這聽起來像你試圖這樣做也許:http://stackoverflow.com/questions/1306689/launching-activities-within-a-tab-in-android 如果是這樣,很好,因爲有一個解決方案或兩個可能適合你!你應該能夠指定一個窗口來運行活動。 – 2013-05-07 19:15:45
- 1. 開始活動並保持TabHost
- 2. 從開始開始活動
- 3. 從片段的意圖開始活動開始空白活動
- 4. 如何從singleInstance活動開始活動?
- 5. 從非活動開始活動
- 6. 帶活動的TabHost
- 7. li中的活動區域
- 8. TabHost活動
- 9. TabHost活動中的碎片
- 10. TabHost中的多個活動
- 11. 在tabhost android中的活動?
- 12. ListView在TabHost中的活動
- 13. 如何從tabview中的列表活動開始新的活動
- 14. 開始活動
- 15. AndEngine中的開始活動
- 16. UIScrollView與活動和非活動區域
- 17. 從c2dm中的非活動開始活動沒有顯示
- 18. 從android中的活動X開始活動X
- 19. 的Android:開放活動數據與TabHost
- 20. 從LockScreen開始活動
- 21. 從活動開始片段
- 22. 從通知開始活動
- 23. 從活動開始BroadCastReceiver
- 24. 從活動開始DialogFragment
- 25. 從RemoteViewsFactory開始活動
- 26. 從packageinfo開始活動
- 27. Android:從MenuItem開始活動
- 28. 從片段開始活動
- 29. 從活動開始服務
- 30. 從broadcastReceiver開始multilple活動
感謝newBie,你的代碼基本上是我解決我的問題的方法! – Phil 2013-05-10 18:52:35