ChatMsgViewAdapter.java:

package com.weijie.user.adapter;import java.util.List;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import com.weijie.user.R;import com.weijie.user.model.ChatMsgEntity;public class ChatMsgViewAdapter extends BaseAdapter {public static interface IMsgViewType {int IMVT_COM_MSG = 0;int IMVT_TO_MSG = 1;}private static final String TAG = ChatMsgViewAdapter.class.getSimpleName();private List<ChatMsgEntity> coll;private Context ctx;private LayoutInflater mInflater;public ChatMsgViewAdapter(Context context, List<ChatMsgEntity> coll) {ctx = context;this.coll = coll;mInflater = LayoutInflater.from(context);}public int getCount() {return coll.size();}public Object getItem(int position) {return coll.get(position);}public long getItemId(int position) {return position;}public int getItemViewType(int position) {// TODO Auto-generated method stubChatMsgEntity entity = coll.get(position);if (entity.getMsgType()) {return IMsgViewType.IMVT_COM_MSG;} else {return IMsgViewType.IMVT_TO_MSG;}}public int getViewTypeCount() {// TODO Auto-generated method stubreturn 2;}public View getView(int position, View convertView, ViewGroup parent) {final ChatMsgEntity entity = coll.get(position);boolean isComMsg = entity.getMsgType();ViewHolder viewHolder = null;if (convertView == null) {if (isComMsg) {convertView = mInflater.inflate(R.layout.chatting_item_msg_text_left, null);} else {convertView = mInflater.inflate(R.layout.chatting_item_msg_text_right, null);}viewHolder = new ViewHolder();viewHolder.tvSendTime = (TextView) convertView.findViewById(R.id.tv_sendtime);viewHolder.tvContent = (TextView) convertView.findViewById(R.id.tv_chatcontent);viewHolder.tvTitle = (TextView) convertView.findViewById(R.id.show_title);viewHolder.isComMsg = isComMsg;convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}viewHolder.tvSendTime.setText(entity.getDate());viewHolder.tvContent.setText(entity.getText());viewHolder.tvTitle.setText(entity.getTitle());viewHolder.tvContent.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);return convertView;}static class ViewHolder {public TextView tvSendTime;public TextView tvUserName;public TextView tvContent;public TextView tvTime;public TextView tvTitle;public boolean isComMsg = true;}}

AfterSalesDetailActivity.java:

package com.weijie.user.activity;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.widget.ListView;import com.weijie.user.R;import com.weijie.user.adapter.ChatMsgViewAdapter;import com.weijie.user.model.ChatMsgEntity;/**   * @ClassName: AfterSalesDetailActivity   * @Description: 售后详情   * @author chenzheng * @date 2014-5-9 上午10:49:33   */public class AfterSalesDetailActivity extends BaseActivity {private ListView mListView;private ChatMsgViewAdapter mAdapter;private List<ChatMsgEntity> mDataArrays = new ArrayList<ChatMsgEntity>();@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.setContentView(R.layout.after_sales_detail); // 默认布局管理器initView();initData();}public void initView() {mListView = (ListView) findViewById(R.id.listview);}private String[] titleArray = new String[] { "创建了投诉","卖家不同意退货申请"};private String[] msgArray = new String[] { "订单号:456892110052345 商品名称:红玫瑰花束 投诉类型:商品质量问题","亲,把商品出问题的地方拍下来,发给我,我这边验证一下啊"};private String[] dataArray = new String[] { "2012-10-31 18:00","2012-10-31 18:10"};private int COUNT = titleArray.length;public void initData() {for (int i = 0; i < COUNT; i++) {ChatMsgEntity entity = new ChatMsgEntity();entity.setDate(dataArray[i]);if (i % 2 == 0) {entity.setMsgType(true);} else {entity.setMsgType(false);}entity.setTitle(titleArray[i]);entity.setText(msgArray[i]);mDataArrays.add(entity);}mAdapter = new ChatMsgViewAdapter(this, mDataArrays);mListView.setAdapter(mAdapter);}}

ChatMsgEntity.java:

package com.weijie.user.model;/**   * @ClassName: ChatMsgEntity   * @Description: 聊天信息类 * @author chenzheng * @date 2014-4-23 上午9:21:15   */public class ChatMsgEntity {    private static final String TAG = ChatMsgEntity.class.getSimpleName();    private String name;    private String date;    private String text;        private String time;    private String title;            public String getTime() {return time;}public void setTime(String time) {this.time = time;}private boolean isComMeg = true;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getDate() {        return date;    }    public void setDate(String date) {        this.date = date;    }    public String getText() {        return text;    }    public void setText(String text) {        this.text = text;    }    public boolean getMsgType() {        return isComMeg;    }    public void setMsgType(boolean isComMsg) {    isComMeg = isComMsg;    }    public ChatMsgEntity() {    }public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}    }

after_sales_detail.xml:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@color/white" >    <!-- 标题栏 -->    <RelativeLayout        android:id="@+id/rl_layout"        android:layout_width="fill_parent"        android:layout_alignParentTop="true"        android:layout_height="48dp"        android:background="@color/color_header"        android:orientation="horizontal" >        <!-- 返回按钮 -->        <LinearLayout            android:id="@+id/header_back"            android:layout_width="@dimen/width_go_back"            android:layout_height="fill_parent"            android:gravity="center"            android:orientation="vertical" >            <ImageView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:src="@drawable/go_back" />        </LinearLayout>        <!-- 售后详情 -->        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_centerVertical="true"            android:layout_toRightOf="@id/header_back"            android:text="售后详情"            android:textColor="@color/white"            android:textSize="@dimen/xl_size" />    </RelativeLayout>    <!-- 聊天内容 listview-->    <ListView        android:id="@+id/listview"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_below="@id/rl_layout"        android:cacheColorHint="#0000"        android:divider="@null"        android:dividerHeight="20dp"        android:scrollbarStyle="outsideOverlay"        android:stackFromBottom="true" /></RelativeLayout>

chatting_item_msg_text_left.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:orientation="vertical"    android:padding="6dp" >    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center_horizontal"        android:orientation="vertical" >        <TextView            android:id="@+id/tv_sendtime"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:background="@drawable/textview_style_sendtime"            android:textColor="#999999"            android:textSize="14sp" />    </LinearLayout>    <RelativeLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginLeft="5dp"        android:layout_marginRight="15dp"        android:layout_marginTop="5dp" >        <ImageView            android:id="@+id/iv_userhead"            android:layout_width="52dp"            android:layout_height="52dp"            android:layout_alignParentLeft="true"            android:layout_alignParentTop="true"            android:background="@drawable/myhead"            android:clickable="true" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_marginLeft="10dp"            android:layout_toRightOf="@id/iv_userhead"            android:background="@drawable/msg_left_bg"            android:orientation="vertical" >            <TextView                android:id="@+id/show_title"                android:layout_width="wrap_content"                android:textColor="#666666"                android:textSize="17sp"                android:layout_height="wrap_content" />            <View                android:id="@+id/separate_line"                android:layout_width="fill_parent"                android:layout_height="2dip"                android:background="#666666" />            <TextView                android:id="@+id/tv_chatcontent"                android:layout_width="wrap_content"                android:textColor="#666666"                android:textSize="15sp"                android:layout_height="wrap_content" />        </LinearLayout>            </RelativeLayout></LinearLayout>

chatting_item_msg_text_right.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:orientation="vertical"    android:padding="6dp" >    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center_horizontal"        android:orientation="vertical" >        <TextView            android:id="@+id/tv_sendtime"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:background="@drawable/textview_style_sendtime"            android:textColor="#999999"            android:textSize="14sp" />    </LinearLayout>    <RelativeLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginRight="5dp"        android:layout_marginLeft="15dp"        android:layout_marginTop="5dp" >        <ImageView            android:id="@+id/iv_userhead"            android:layout_width="52dp"            android:layout_height="52dp"            android:layout_alignParentRight="true"            android:layout_alignParentTop="true"            android:background="@drawable/goods_img"            android:focusable="false" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_marginRight="10dp"            android:layout_toLeftOf="@id/iv_userhead"            android:background="@drawable/msg_right_bg"            android:orientation="vertical" >            <TextView                android:id="@+id/show_title"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:textColor="@color/white"                android:textSize="17sp" />            <View                android:id="@+id/separate_line"                android:layout_width="fill_parent"                android:layout_height="2dip"                android:background="@color/white" />            <TextView                android:id="@+id/tv_chatcontent"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:textColor="@color/white"                android:textSize="15sp" />        </LinearLayout>    </RelativeLayout></LinearLayout>

textview_style_sendtime.xml:

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" >    <solid android:color="#EDEDED" />    <padding        android:bottom="4dp"        android:top="4dp"         android:left="6dp"        android:right="6dp"/>     <corners android:radius="5dp" /> </shape>

更多相关文章

  1. Android(安卓)淘宝购物车细节详情
  2. 视频聊天软件源码Android(安卓)8.1user版本默认开启开发者模式
  3. Android(安卓)AutoSearchBug自动捕获异常,联网查询异常解决方法
  4. android实现气泡聊天
  5. Android(安卓)开发即时聊天工具 YQ :(五) 发送消息
  6. Android实现聊天型笔记编辑器
  7. Android使用贝塞尔曲线仿QQ聊天消息气泡拖拽效果
  8. Android仿微信聊天语言点击喇叭动画效果
  9. 用c#开发安卓程序 (xamarin.android)系列之二 简单的聊天程序

随机推荐

  1. php:1. 实例演示属性与方法重载 2. 实例
  2. 单文件与多文件上传,分页操作
  3. Html基础
  4. 最新的 k8s v1.23.5安装
  5. Android活动Acitivity启动模式之singleTa
  6. android之Activity
  7. Android(安卓)C/C++开发指南
  8. android自定义控件:可旋转View:可作为Image
  9. Android软件安全开发实践(下)
  10. Android官方刷新组件 SwipeRefreshLayout