0

私のアプリケーションでは、2 つの画面 A と B があります。A はホーム画面で、B 画面はチャット画面です。B には、画面に動的に追加されるテキスト ビューがあります。ここで、戻るボタンをクリックすると、つまり B--> A から。B 画面はバックグラウンドでまだ動的に更新されています。

私の問題はここにあります。 A-->B から B を再度表示したい場合、B 画面が動的に更新/更新を停止します。

更新を表示するには、 B-->A を実行してから A-->B を実行する必要があります。その後、見逃した更新が表示されます。

例:これは私のシナリオです:チャットアプリケーションを作成しています。チャットアクティビティにタイマーがあり、アプリケーションのライフサイクルまでサーバーからメッセージを受信し続けます。チャット アクティビティが表示されていない場合やバックグラウンドで短い場合でも、チャット画面がサーバーから更新を受信し続けます。テキストビューをレイアウトに動的に追加して、これらの更新を画面に表示します。

ステップ 1 : アプリが起動し、チャット画面に到達すると、初めて画面が正常に動作し、新しいテキスト ビューを追加して画面を動的に更新し続けます

ステップ 2 : チャット画面で戻るボタンを押します。今、ホーム画面にいます。その間、チャット アクティビティのタイマーは 10 秒ごとにサーバー メッセージを受信し続けます。(ここにデータをキャッシュしています)。

ステップ 3 : チャット アクティビティに戻ります。ステップ 2 でキャッシュされたデータを正常に入力できます。ただし、データがキャッシュされているにもかかわらず、チャット アクティビティで画面が動的に更新されません。デバッグすると、mylayout.addview(text view) への呼び出しが表示されます...ただし、この新しい textview は画面に表示されません

助けてください

4

1 に答える 1

0

私はタイマーの問題でした..最初に、ユーザーが最初のメッセージをサーバーに送信すると、タイマーを開始しました。

奇妙な...しかし、この問題を解決するには、タイマーの oncreate() でチェックを適用する必要がありました...そしてうまくいきました!!

于 2013-07-10T03:23:37.513 に答える