java简单仿qq聊天界面_简单模仿QQ聊天界面

1 public class MainActivity extends Activity implementsOnClickListener{2 EditText et_tony_message;3 Button but_tony_send;4

5 EditText et_hill_message;6 Button but_hill_send;7

8 ListView lv_message;9 Listlist;10 MessageAdapter adapter;11 Handler handler=newHandler();12 @Override13 protected voidonCreate(Bundle savedInstanceState) {14 super.onCreate(savedInstanceState);15 setContentView(R.layout.activity_main);16 init();17 }18

19 private voidinit() {20 et_tony_message=(EditText) findViewById(R.id.et_tony_message);21 but_tony_send=(Button) findViewById(R.id.but_tony_send);22 but_tony_send.setOnClickListener(this);23

24 et_hill_message=(EditText) findViewById(R.id.et_hill_message);25 but_hill_send=(Button) findViewById(R.id.but_hill_send);26 but_hill_send.setOnClickListener(this);27

28 list=new ArrayList();29 lv_message=(ListView) findViewById(R.id.lv_message);30 adapter=newMessageAdapter();31 lv_message.setAdapter(adapter);32 }33

34

35 @Override36 public voidonClick(View v) {37 /*Tony发送消息*/

38 if(v==but_tony_send){39 /*验证*/

40 if(et_tony_message.getText()==null||et_tony_message.getText().toString().equals("")){41 Toast.makeText(this, "消息不能为空", 0).show();42 return;43 }44 Message m=newMessage();45 m.setFrom_username("Tony");46 m.setCreate_time(System.currentTimeMillis());47 m.setText(et_tony_message.getText().toString());48 sendMessage(m);49 et_tony_message.setText("");50 }51 /*Hill发送消息*/

52 if(v==but_hill_send){53 /*验证*/

54 if(et_hill_message.getText()==null||et_hill_message.getText().toString().equals("")){55 Toast.makeText(this, "消息不能为空", 0).show();56 return;57 }58 Message m=newMessage();59 m.setFrom_username("Hill");60 m.setCreate_time(System.currentTimeMillis());61 m.setText(et_hill_message.getText().toString());62 sendMessage(m);63 et_hill_message.setText("");64 }65 }66 private voidsendMessage(Message m) {67 list.add(m);68 adapter.notifyDataSetChanged();69 //lv_message.f

70 lv_message.setSelection(list.size()+1);71 }72 class MessageAdapter extendsBaseAdapter{73

74 @Override75 public intgetCount() {76 returnlist.size();77 }78

79 @Override80 public Object getItem(intposition) {81 returnlist.get(position);82 }83

84 @Override85 public long getItemId(intposition) {86 return 0;87 }88

89 @Override90 public View getView(intposition, View convertView, ViewGroup parent) {91 Message message=list.get(position);92 ViewHolder viewHolder=null;93 //if(convertView==null){

94 if("Tony".equalsIgnoreCase(message.getFrom_username())){95 convertView=parent.inflate(MainActivity.this, R.layout.list_message_item_left, null);96 }else{97 convertView=parent.inflate(MainActivity.this, R.layout.list_message_item_right, null);98 }99 viewHolder=newViewHolder();100 viewHolder.iv_userhead=(ImageView) convertView.findViewById(R.id.iv_userhead);101 viewHolder.tv_chatcontent=(TextView) convertView.findViewById(R.id.tv_chatcontent);102 viewHolder.tv_sendtime=(TextView) convertView.findViewById(R.id.tv_sendtime);103 viewHolder.tv_username=(TextView) convertView.findViewById(R.id.tv_username);104 //convertView.setTag(viewHolder);105 //}else{106 //viewHolder=(ViewHolder) convertView.getTag();107 //}

108

109 viewHolder.tv_chatcontent.setText(message.getText());110 viewHolder.tv_sendtime.setText(new SimpleDateFormat("HH:mm:ss").format(newDate(message.getCreate_time())));111 viewHolder.tv_username.setText(message.getFrom_username());112 returnconvertView;113 }114 classViewHolder{115 publicImageView iv_userhead;116 publicTextView tv_username;117 publicTextView tv_chatcontent;118 publicTextView tv_sendtime;119 }120 }121 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值