0

携帯電話とタブレットの両方で Android 3.2/4.0.3 のアプリケーションを開発しています。Fragments 機能を使用しており、左側のフラグメントで ListFragment を拡張し、独自のカスタム ビューを各リスト行 (独自の XML ファイルで定義されたレイアウト) に正常に追加しました。私の問題は、スクロール時に時々発生します。何らかの理由でリストが狂ってしまい、行が重なり合ってリスト内で跳ね返ります。以前にこの動作に遭遇した人はいますか?

以下にいくつかの例を添付しました。これが起こっている例を見つけようとして検索しましたが、何も見つかりません。バグレポートも出されていないようなので、コードの書き方によるものなのか、Androidの「機能」なのかはわかりません。

どんな助けでも大歓迎です。

リストフラグメントが正しく機能しています - http://imgur.com/jKmy6.png

クレイジー リスト フラグメントの動作 - http://imgur.com/KSKwm.png

4

1 に答える 1

1

この機能についてはよくわかりません:

  public View getView(int p_position,
      View p_convertView,
      ViewGroup p_parent)
  {
    if (p_convertView == null)
    {
      return m_views.get(p_position);
    }
    else
    {
      return p_convertView;
    }
  }

null でない場合、なぜ p_convertView を返すのですか? Android は、おそらく、新しいビューを作成するのではなく、オリジナルのビューを大量に使用していますか? これを試して...

  public View getView(int p_position,
      View p_convertView,
      ViewGroup p_parent)
  {
    return m_views.get(p_position);
  }
于 2012-06-01T12:51:03.563 に答える