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