实现聊天室

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv_control"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:gravity="center"
        android:text="聊天室效果,点击添加聊天记录,长按删除聊天记录"/>



    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tv_bbs"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="20dp"
            android:scrollbars="vertical"
            android:textColor="#000000"
            android:textSize="17sp"
            android:maxLines="8"
            android:lines="8"
            android:gravity="bottom|left"
            />


    </LinearLayout>
</LinearLayout>
package com.example.administrator.myapplication52;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.format.DateUtils;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.TextView;

import com.example.junior.util.DateUtil;

public class MainActivity52 extends AppCompatActivity implements View.OnClickListener,View.OnLongClickListener {

    private TextView tv_bbs;
    private TextView tv_control;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);

        tv_control = (TextView)this.findViewById(R.id.tv_control);
        tv_control.setOnClickListener(this);
        tv_control.setOnLongClickListener(this);

        tv_bbs = (TextView)this.findViewById(R.id.tv_bbs);
        tv_bbs.setOnClickListener(this);
        tv_bbs.setOnLongClickListener(this);
        tv_bbs.setMovementMethod(new ScrollingMovementMethod());

    }

    private String[] mChatStr={"你吃饭了吗?","今天天气真好呀!","我中奖了","我们去看电影吧","晚上干什么好呢?"};

    @Override
    public void onClick(View v)
    {
        if((v.getId() == R.id.tv_control) ||(v.getId() == R.id.tv_bbs))
        {
            int random = (int)(Math.random()*10)%5;

            // 保留当前字符串,并添加回车,再添加一个新的字符串
            //如果太多,自动滚动
            String newStr = String.format("%s
%s%s",tv_bbs.getText(), DateUtil.getNowTime(),mChatStr[random]);
            tv_bbs.setText(newStr);
        }
    }

    @Override
    public boolean onLongClick(View v) {

        tv_bbs.setText("");

        return true;
    }
}
package com.example.junior.util;

import android.annotation.SuppressLint;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Created by ouyangshen on 2016/9/14.
 */
public class DateUtil {
    @SuppressLint("SimpleDateFormat")
    public static String getNowDateTime() {
        SimpleDateFormat s_format = new SimpleDateFormat("yyyyMMddhhmmss");
        return s_format.format(new Date());
    }

    @SuppressLint("SimpleDateFormat")
    public static String getNowTime() {
        SimpleDateFormat s_format = new SimpleDateFormat("HH:mm:ss");
        return s_format.format(new Date());
    }

}

原文地址:https://www.cnblogs.com/qqhfeng/p/7368523.html