3

ListView があり、4 つの異なる種類の項目が必要です。私はそれを探し、これが可能なさまざまな解決策を見つけ、他の人がしたように自分のことをやろうとしました. さまざまな ViewHolder を作成しました (タイプごとに 1 つ)。ListView が初めて表示されるときは、すべて問題ありません。しかし、スクロールを開始すると、classCastException が発生します。その理由は明らかです。

holder = (FeedViewHolder) convertView.getTag();

null でない場合、アダプタは convertView からタグを取得して ViewHolder を取得しようとします。しかし、この ViewHolder は前のアイテムの ViewHolder のようで、キャストできません。

私は StackOverflow と Google を検索しますが、すべての例は、異なるアイテムに同じまたはかなり等しい ViewHolders を使用しているため、機能しているようです。しかし、私のオブジェクトは実際には互いに異なり、異なる ViewHolders が必要です。誰でもこれを解決するのを手伝ってもらえますか?

4

2 に答える 2