通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得
1. 在onCreate方法中我們要通過TabHost的addTab方法添加選項卡,如果沒有顯示指定,系統會將第一個add方法添加進去的選項卡作為默認的選項卡
if (mCurrentTab == -1) {
??????????? setCurrentTab(0);
}
???? 在setCurrentTab方法就回去調用? mCurrentView = spec.mContentStrategy.getContentView();這行代碼,getContentView()方法回去調用
public View getContentView() {
????????? if (mTabContent == null) {
????????????? mTabContent = mFactory.createTabContent(mTag.toString());
????????? }
????????? mTabContent.setVisibility(View.VISIBLE);
????????? return mTabContent;
????? }
TabContentFactory是TabActivity提供給我們的一個接口,我們可以在createTabContent方法中創建我們自己的view
???? 當再次執行addTab方法添加第二個,第三個選項卡的時候,都不會觸發createTabContent方法了。再次的觸發就是在每個選項卡第一次顯示的時候。
2.當執行完createTabContent方法,即創建了tab中要顯示的view之后,就回去調用onTabChanged方法,特別要注意的是當第一次跳轉到TabActivity的時候,并不會觸發onTabChanged事件。當配合ListView使用TabActivity的時候,一般我們都要異步的去給ListView的適配器提供數據,當onTabChanged事件觸發的時候,適配器可能還沒有值。(ptt項目中遇到)
?
3. 比如一個TabHost中有三個選項卡A,B,C,當第一次跳轉到此activity,我們依次點擊A,B,CcreateTabContent()方法會依次執行三次,執行的過程中,系統就會將創建的顯示view存儲起來,當點擊C,B,A的時候,并不會去觸發CcreateTabContent()方法,系統會將已經存儲的view取出來顯示。
?
?
?
1. 如何求兩個整數的百分比
int currentindex = 55;
int totalcount = 66;
NumberFormat nf = NumberFormat.getPercentInstance();
final String persent = nf.format(((float)currentindex/(float)totalcount));
轉載于:https://www.cnblogs.com/transmuse/archive/2010/11/23/1885805.html
總結
以上是生活随笔為你收集整理的通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用JS调用aspx页面(转载)
- 下一篇: 我的技术家园,吸取精神食粮的天堂