通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得
1. 在onCreate方法中我們要通過TabHost的addTab方法添加選項(xiàng)卡,如果沒有顯示指定,系統(tǒng)會(huì)將第一個(gè)add方法添加進(jìn)去的選項(xiàng)卡作為默認(rèn)的選項(xiàng)卡
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提供給我們的一個(gè)接口,我們可以在createTabContent方法中創(chuàng)建我們自己的view
???? 當(dāng)再次執(zhí)行addTab方法添加第二個(gè),第三個(gè)選項(xiàng)卡的時(shí)候,都不會(huì)觸發(fā)createTabContent方法了。再次的觸發(fā)就是在每個(gè)選項(xiàng)卡第一次顯示的時(shí)候。
2.當(dāng)執(zhí)行完createTabContent方法,即創(chuàng)建了tab中要顯示的view之后,就回去調(diào)用onTabChanged方法,特別要注意的是當(dāng)?shù)谝淮翁D(zhuǎn)到TabActivity的時(shí)候,并不會(huì)觸發(fā)onTabChanged事件。當(dāng)配合ListView使用TabActivity的時(shí)候,一般我們都要異步的去給ListView的適配器提供數(shù)據(jù),當(dāng)onTabChanged事件觸發(fā)的時(shí)候,適配器可能還沒有值。(ptt項(xiàng)目中遇到)
?
3. 比如一個(gè)TabHost中有三個(gè)選項(xiàng)卡A,B,C,當(dāng)?shù)谝淮翁D(zhuǎn)到此activity,我們依次點(diǎn)擊A,B,CcreateTabContent()方法會(huì)依次執(zhí)行三次,執(zhí)行的過程中,系統(tǒng)就會(huì)將創(chuàng)建的顯示view存儲(chǔ)起來,當(dāng)點(diǎn)擊C,B,A的時(shí)候,并不會(huì)去觸發(fā)CcreateTabContent()方法,系統(tǒng)會(huì)將已經(jīng)存儲(chǔ)的view取出來顯示。
?
?
?
1. 如何求兩個(gè)整數(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页面(转载)
- 下一篇: C++中extern “C”含义深层探索