1

アクティブ チャット用の ViewPager を使用したシンプルなチャット アプリケーションを作成しました。

    @Override
    public int getItemPosition(Object object)
    {
        return POSITION_NONE;
    }

しかし、これによりすべてのフラグメントが再作成され、メッセージが多すぎるとラグが発生し、メッセージを受信するたびにキーボードが閉じられるため、instantiateItem をオーバーライドしようとしましたが、どこにも到達できませんでした。どうしたらいいのかわからなかったので、アクティブなものだけでなく、すべてのリストビュー/フラグメントを更新したかったのです。

また、フラグメントの onCreateView を使用して、リストビューを取得し、アダプターを追加して、そのアダプターを配列リストに追加しようとしましたが、各メッセージが来るたびに、この配列リスト内のすべてのアダプターが更新されますが、これは機能しませんでした予想通り、メッセージを表示するには、ViewPager から離れてから、再び ViewPager に戻る必要がありました (ViewPager は tabHost 内にあるため)。

どんな助けでも大歓迎です、ありがとう。

4

1 に答える 1

1

ビューを更新するには、POSITION_NONE を返すのではなく、getItemPostion() で setTag() メソッドを使用してください。setTag() を使用する理由とその方法については、この投稿で詳しく説明されていますViewPager PagerAdapter not updates the View

于 2012-10-02T20:46:59.137 に答える