2__1.8__模拟聊天室_使用textview_先读取再拼接

activity_chat.xml

<?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/tvChatTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="这是聊天室,点击和长按我试试"
android:textSize="30dp"/>

<TextView
android:id="@+id/tvChatContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=""
android:textSize="20dp"
android:layout_marginTop="20dp"
/>
</LinearLayout>

--------------------------------------------------------

ChatActivity.java

package com.example.dfby.myapplication;

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

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

public class ChatActivity extends AppCompatActivity implements View.OnClickListener,View.OnLongClickListener {
private TextView tvChatTitle,tvChatContent;
private String[] messages={"今天天气不错","约起来","大家好啊","哇哦居然下雪了","加油"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat);
tvChatTitle=findViewById(R.id.tvChatTitle);
tvChatContent=findViewById(R.id.tvChatContent);
tvChatTitle.setOnClickListener(this);
tvChatContent.setOnClickListener(this);
tvChatTitle.setOnLongClickListener(this);
tvChatContent.setOnLongClickListener(this);

tvChatContent.setLines(8);
tvChatContent.setMaxLines(10);

}

@Override
public void onClick(View v) {
int index=(int)(Math.random()*10)%5;
String str=String.format("%s\n%s %s",tvChatContent.getText().toString(),new SimpleDateFormat("HH:mm:ss").format(new Date()),messages[index]);
tvChatContent.setText(str);
tvChatContent.setMovementMethod(new ScrollingMovementMethod());
}

@Override
public boolean onLongClick(View v) {
tvChatContent.setText("");
return true;
}
}

原文地址:https://www.cnblogs.com/bj-tony/p/10243523.html

时间: 2024-11-09 03:51:55

2__1.8__模拟聊天室_使用textview_先读取再拼接的相关文章

模拟聊天室显示语句保持最新显示

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>模拟聊天室显示语句保持最新显示</title> <style> *{ border-collapse: collapse; } .dialog_box{ width:400px; height: 600px; margin:0 auto; bac

网络编程(学习整理)---2--(Udp)实现简单的控制台聊天室

1.UDP协议: 总结一下,今天学习的一点知识点! UDP也是一种通信协议,常被用来与TCP协议作比较!我们知道,在发送数据包的时候使用TCP协议比UDP协议安全,那么到底安全在哪里呢?怎么理解呢! 下面我说一下我的简单理解! 由于TCP协议是一种面向连接的协议,有三次挥手通信确认机制,且数据包没有代销限制,TCP协议确保在通信双方都收到对方确认信息的前提下,才开始为通信的双方传输信息(数据包)! 这样数据包的传输可以得到安全保障!所以简单的理解为安全的!当然一旦,出现网络问题,或者一些其他意外

Asp.Net SignalR - 简单聊天室实现

原文:Asp.Net SignalR - 简单聊天室实现 简单聊天室 使用持久链接类我们就可以做一些即时通讯的应用了,我使用Group做了一个简单的聊天室,先上图技术细节下面再讲 可以加入聊天室.创建聊天室.发送消息,下面就说说我是如何通过Group做出来的 持久链接类有一个Groups的对象,通过这个对象,我们可以进行分组添加人员.发送消息.删除人员等操作 在连接事件中,给当前游客指定随机名称,并且返回当前已有的聊天室信息 protected override Task OnConnected

Go语言实践_实现点对点聊天室

一.目的 使用Go语言实现一个服务器端与客户端的聊天室. 软件:Goland,Go1.9 二.思路 1,首先启动服务器端,使用listen_socket函数监听IP地址上的客户端连接: 2,启动客户端,并向服务器端发送数据,发送结束后端口阻塞,等待服务器端的消息: 3,服务器端接收到由客户端发送来的消息: 4,服务器端向客户端发送数据,发送结束后: 5,客户端接收到由服务器端发送来的消息,发送结束后端口阻塞,等待客户端的消息: 6,重复步骤2-5: 7,如果服务器端接收到由客户端发送来的“clo

[Asp.net 开发系列之SignalR篇]专题三:使用SignalR实现聊天室的功能

一.引言 在前一篇文章中,我向大家介绍了如何实现实现端对端聊天的功能的,在这一篇文章中将像大家如何使用SignalR实现群聊这样的功能. 二.实现思路 要想实现群聊的功能,首先我们需要创建一个房间,然后每个在线用户可以加入这个房间里面进行群聊,我们可以为房间设置一个唯一的名字来作为标识.那SignalR类库里面是否有这样现有的方法呢?答案是肯定的. // IGroupManager接口提供如下方法 // 作用:将连接ID加入某个组 // Context.ConnectionId 连接ID,每个页

聊天室刷屏的简单原理实现

在聊天室中,如果我们想要实现刷屏的效果,其实很简单,因为这些我们都可以通过前台的js来完成. 首先,说一下原理,就是通过javascript来模拟文字的输入,来模拟提交按钮的点击.这里要实现这些,首先我们需要浏览器的debug,比如firefox的firebug,或者自带的调试工具也可,或者chrome的console台,ie+8的F12 开发者工具. 下面举个简单的例子: 首先审查元素,找到输入框的id比如:id="postTex"t, 然后找到提交的id或者css,比如 class

Python项目实战教程:web实时聊天室项目

新课强力来袭:基于Node.js的web实时聊天室项目! 麦子学院新课以马踏飞燕般的速度生粗来啦(*^__^*) .小伙伴们你萌确定不来一发吗? 啦啦啦--上图镇楼↓↓↓ 那些神奇的传送门→_→ 本课程:http://www.maiziedu.com/course/others/597-8698/ 李大大主页:http://www.maiziedu.com/group/common/course/59404/ 这里是正儿八经的课程介绍(快看快看o( ̄ヘ ̄o#)): 网站实时通讯一体化解决方案,采

ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十四)之漏掉的客服消息

前言 不知不觉已经十四篇了,其实已经没有什么可写了.但是突然发现layim中带的客服功能没有用到.于是乎,抽点时间完成吧.其实之前的工作已经把客服功能完成了一大半,剩下的我们稍微调整即可.今天的演示我们放在后边,直接进入讲解. 客服思路讲解 大家去一些公司网站都会发现,网页侧面或者自动弹出一些客服聊天框,人家很热情的和你交谈.我们也可以用layim来实现.首先,页面添加一个按钮,点击按钮触发客服模式. <a onclick="javascript:global.other.kefu(148

ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(四) 添加表情、群聊功能

休息了两天,还是决定把这个尾巴给收了.本篇是最后一篇,也算是草草收尾吧.今天要加上表情功能和群聊.基本上就差不多了,其他功能,读者可以自行扩展或者优化.至于我写的代码方面,自己也没去重构.好的,我们开始在原有的基础上添加功能. 1.表情功能 表情我用了一个jquery插件,qqFace.由于GitHub中源码已经包含,我这里不在粘贴地址.先看一下添加表情后的效果吧. 表情这里不要忘了加页面样式,表情选中样式.还有一个就是小bug就是,表情框被聊天框限制住了.另外,初始化表情插件的地方应该在有元素