客服聊天界面有很多种布局,比如图片、文字、列表等等将近几十种。在ListView 或者RecyclerView中,每个都写的话,就会造成代码很臃肿复杂。getItemViewType 里面要返回不同的布局类型。onCreateViewHolder要加载不同的布局,在onBindViewHolder里面又要根据不同viewholder去加载数据。这样子写的代码要很复杂。。有没有什么简便的方法,可以代码结构很清晰,不臃肿。
还有就是里面的数据该如何处理。我目前的做法是根据布局类型保存每个item用到的数据。 加载的时候,判断保存的布局类型是什么,然后去解析不同的数据结构,最后去加载。总感觉这样子会造成性能差。请问下又什么好的解决方法呢。