android:解決單個tab內部的activity跳轉


這里不是指tab的切換問題,而是單個tab中的內部跳轉

比如有一個tabWidget,比如上面有4個a,b,c,d的Activity,然后a上面有一個按鈕,對要使其實現跳轉到ActivityX,若代碼如下的話:
Intent intent = new Intent(aActivity.this,xxActivity.class);

startActivity(intent);

finish();

那么執行后,就只是進入了ActivityX,但下面的tabWidget也消失了

我們要的效果是切換到ActivityX,而又保持有下面的tabWidget,這類似於iphone中的UItarbar里的導航功能。

 

網上求救這效果的很多,但解決方法也比較凌亂。

 

解決方案一:Activity + TabHost + ActivityGroup

但是ActivityGroup 已經被Google棄用了,其官方建議使用Fragment代替,所以這種方法我也沒有嘗試。

ActivityGroup 的具體可以參考

Android TabHost中切換Activity 

 

方案二:Fragment + TabHost + FragmentActivity

fragment 是3.0之后才有的特性,不過在此之前的SDK可以外加擴展包(android-support-v4)實現其功能。

fragement的使用 可以參考http://marshal.easymorse.com/?s=fragment

 

mHost.addTab(mHost.newTabSpec("Tab1").setIndicator("Tab1").setContent(newIntent(MainTabActivity.this, FragmentActivity1.class)));

這樣就使tab為一個FragemntActivity,在FragemntActivity中加入Fragment即可進行管理

實現tab的可參考

Android Tabhost with FragmentActivity

 

三:猜想:FragmentActivity

之前使用Fragment實現了一個Master-Details的界面,類似於iphone中的UISplitView,其原理是通過FragmentActivity的界面分成左右兩片,然后分別對左右添加管理Fragment,即可實現。其右邊也可實現activity的跳轉功能。由此想到,如果把FragmentActivity的視圖分成上下兩片,下面的做成tab的形式,即可實現啦!

找時間嘗試~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM