2013-02-22 24 views
0

讓我試着詳細解釋我的問題。 我有5個選項卡,我的應用程序的啓動屏幕後運行我的Tab類,並顯示第一個選項卡。如何使Tab運行時動態設置textView?

在我的第一個選項卡中,我有一個包含TextView的類,它將在某種條件下顯示某些文本(與用戶在另一個類中鍵入的配置文件有關)。

TextView duration = (TextView)view.findViewById(R.id.duration); 
duration.setText(durationNumber); 

if(week <= 12) 
{ 
durationNumber = "Less than 12 weeks"; 
} 

else 
{ 
durationNumber = "More than 12 weeks"; 
} 

當我運行我的應用程序時,文本不會出現,除非我導航到其他選項卡並返回到第一個選項卡。我搜索了一遍,找不到解決方案。我試過使用SharedPreferences但它沒有工作。也許我做錯了。

爲什麼會發生這種情況,我該如何解決這個問題?

回答

2

durationNumber的初始值是多少?在if-else循環中設置之前是否爲null?如果它是null那麼TextView將不會出現(因爲沒有值顯示)。

您必須在if-else循環之後再次設置TextView文本。試試這個...

TextView duration = (TextView)view.findViewById(R.id.duration); 
if(week <= 12) { 
    durationNumber = "Less than 12 weeks"; 
} else { 
    durationNumber = "More than 12 weeks"; 
} 
duration.setText(durationNumber); 
+0

是的,它的工作!我沒有想到這一點。很好解釋和謝謝@ neo108! – 2013-02-22 02:32:43

+0

不用擔心@HoneyH。享受編碼:-) – neo108 2013-02-22 02:33:43

相關問題