0

私の質問を詳しく説明してみましょう。5 つのタブがあり、Tab クラスはアプリケーションのスプラッシュ画面の後に実行され、最初のタブが表示されます。

私の最初のタブには、(別のクラスのユーザーによってキー入力されたプロファイルに関連する) ある条件下で特定のテキストを表示する 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? nullif-else ループにセットされる前ですか?その場合null、TextView は表示されません (表示する値がないため)。

TextViewif-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 に答える