android聊天程序 java_Android 聊天室(一)

public class Chat extendsActivity {

TextView tv_name;

EditText et_input;

Button bt_send;

ClientThread clientThread;privateListView listview ;private ListmData ;privateChatMessageAdapter mAdapter ;private static final String tag = "Chat";private Handler handler = newHandler(){

@Overridepublic voidhandleMessage(android.os.Message msg) {if(msg.what == 0x123){

ChatMessage receiveMsg=(ChatMessage) msg. obj;

mData.add(receiveMsg);

mAdapter.notifyDataSetChanged();

listview.setSelection(mData .size()- 1);

}

}

};

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

requestWindowFeature(Window. FEATURE_NO_TITLE);

setContentView(R.layout. chat);

initView();//初始化view

initData();//初始化数据

clientThread= newClientThread(handler);new Thread(clientThread ).start(); //启动新线程发送信息

bt_send.setOnClickListener(newOnClickListener() {

@Overridepublic voidonClick(View v) {final String inputMsg =et_input.getText().toString();

Log. v(tag,"inputMsg: " +inputMsg);if(TextUtils.isEmpty(inputMsg)){

Toast. makeText(Chat.this, "发送消息不能为空!", Toast.

LENGTH_SHORT).show();

}try{

ChatMessage cm= newChatMessage();

cm.setDate(newDate());

cm.setMsg(inputMsg);

cm.setType(Type. OUTCOMING);

cm.setName("paul");

mData.add(cm);

mAdapter.notifyDataSetChanged();

listview.setSelection(mData .size()- 1);

Message msg= newMessage();

msg. what= 0x345;

msg. obj=inputMsg;

et_input.setText("");

clientThread.revHandler .sendMessage(msg);//发送信息

}catch(Exception e) {

e.printStackTrace();

}

}

});

}private voidinitData() {

mData= new ArrayList();

String data=et_input.getText().toString();

mAdapter= new ChatMessageAdapter(Chat.this, mData);

listview.setAdapter(mAdapter );

}private voidinitView() {

tv_name=(TextView) findViewById(R.id.tv_name);

et_input=(EditText) findViewById(R.id.et_input);

bt_send=(Button) findViewById(R.id.bt_send);

listview=(ListView) findViewById(R.id.id_listview);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值