ringa_lee2017-04-17 16:53:04
これは XML
の解析に問題があります。Rebuild
レイアウト ファイルを更新し、レイアウト ファイル内の XML
に問題があるかどうかを確認することをお勧めします。 XCRoundImageView
怪我咯2017-04-17 16:53:04
あなたのコードを注意深く調べたところ、おそらくこの理由によるエラーであることがわかりました。
まずコードの意図について話して、それが正しいかどうかを確認させてください。
チャット インターフェイスに受信した情報と送信した情報を表示したいと考えていますが、これらの情報の配置は不規則です。
2 つの ViewHolder を使用して、受信した情報と、自分が送信した情報に対応するレイアウト ファイルの内容を保存するという考えは正しいです。コードを見てみましょう
明らかに、コードは 1 つの ViewHolder のみを保存します。if (convertView == null)
内のコード ステートメントは最初に 1 回だけ実行されるため、通常は情報を受け取る ViewHolder が保存されます。
解決策のアイデアを教えてください:
convertView と ViewHolder の 2 つを使用して、受信した情報と自分が送信した情報を保存します
情報を送信するか受信するかを決定するフィールドを ChatMessageBean に追加します
getView
では、ChatMessageBean chatMessageBean = messageBeans.get(position);
の新しいフィールドに従って情報を送信するか受信するかを判断し、対応するViewHolderを処理し、対応するconvertView