解决方案 »
- 做过真正产品的回答:安装新版本,如何覆盖安装以保留旧版本的数据
- android软件不基于广告平台。怎么自定义发广告
- jquerymobile对话框插件
- 如何使用代码获取Launcher的ContentProvider uri
- android播放.mp4文件时怎么消除原唱,跟KTV里K歌时消除原声类似的效果?
- SQLiteDatabase如何实现update table set field=field+1
- 请问如何 设置 listview和 ItemLongClickListener 触发 时间
- listview通过滚动摆脱底部button遮盖的问题
- java后台怎么保存Android端用户登录状态
- Android开发遇到问题,请大神指教!!
- 关于ADT中log的问题,求大神解决
- android wifi定位设置
我觉得可以不用View convertView1,convertView2啊,你这么搞的关键点在哪里
好吧,那我现在的item变成三行了,我的时间也是写成一行隐藏起来的
package com.chat.demo.activity;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.ImageView;
import android.widget.TextView;import com.chat.demo.R;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 stub
ChatMsgEntity 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 stub
return 2;
} public View getView(int position, View convertView, ViewGroup parent) { 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.tvUserName = (TextView) convertView
.findViewById(R.id.tv_username);
viewHolder.tvContent = (TextView) convertView
.findViewById(R.id.tv_chatcontent);
if (!isComMsg) {
viewHolder.ivSuc = (ImageView) convertView
.findViewById(R.id.iv_succ); }
viewHolder.isComMsg = isComMsg; convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
} viewHolder.tvSendTime.setText(entity.getDate());
viewHolder.tvUserName.setText(entity.getName());
viewHolder.tvContent.setText(entity.getText());
if (!isComMsg) {
if (!entity.getSucMeg()) {
viewHolder.ivSuc.setVisibility(View.VISIBLE);
} else {
viewHolder.ivSuc.setVisibility(View.GONE);
}
} return convertView;
} static class ViewHolder {
public TextView tvSendTime;
public TextView tvUserName;
public TextView tvContent;
public ImageView ivSuc;
public boolean isComMsg = true;
}}我是这样处理的 希望可以帮助到你