0

让我试着详细解释我的问题。我有 5 个选项卡,我的选项卡类在我的应用程序的启动屏幕之后运行,并且将显示第一个选项卡。

在我的第一个选项卡中,我有一个包含 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 但它没有用。也许我做错了。

为什么会发生这种情况,我该如何解决?

4

1 回答 1

2

的初始值是durationNumber多少?是null在 if-else 循环中设置之前吗?如果是,null那么 TextView 将不会出现(因为没有要显示的值)。

TextView在 if-else 循环之后,您必须再次设置文本。试试这个...

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);
于 2013-02-22T02:28:21.327 回答