Android -- 重设字符并统计原字符以及修改字符的长度以及位置
1. 效果图
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQgAAAAbCAIAAAAPoYYpAAADI0lEQVR4nO3bzUsqURgG8HGmHAlyWkkSVJItanEXFu1aCuJAu4LAVYuKdgXRJmLecz0zfVgY5RWiL6EioiKilIH83+7i6NzJRkPvTa70/Djo8Z1x9MD7MA6q9MvFqjAtl3cPXHZ3d/f29upstCzL2t7ezmQyDXZo4ODgoMHWBi/d8isCJJPJZDKp67qu65I7GJxzbnLTNE0x4Zybpsm5aXJuVuYAnco0uSka27kTXS5ueN1gpN/jPP0Rx8DowFG5+dPGPM3TNVvqBoP9rMFYtVR7D9DpPvR0/WAwRowRY4wYMUEUiBhjjKhaBehYRIwYMXL6utrvdYNBZJBBREQGERlGZUJkiLqzDQOj04bT2gYRGUalRq4a1Q3GOMA3VjcYEsA31kowFEWpqciyLMvyV75PgLZqFIxsNnt/f18sFp0khEKhbDZ7fn5+c3MzNjYmiktLS1dXV9fX1ysrK+5Dx2KxUqkUCAQkSQoGg6VS6bmqq6urvcsEaM4nZ4xwOOwORjqdnp2dlSQpGo2+vLzIshyPx4+PjyVJUhTl7u4uGo2KPRVFubi4KJfLIhihUKhYLCIP0CmaC8b4+HhPT4+ov76+1jT64eFhLBYT8+Xl5bm5OeeMMTAw8Pz8rKqqqqo+n6996wNoSXPBcGxubqZSKefh9PT0+vp6Pp8XTe/z+R4eHvx+vxOMkZGRcrls27Zt2wsLC+1aHUCLWglGIpE4PT11VyKRSDwev729FSeEs7MzcQXiBGNwcHBmZkaW5b6+vqenp0gk0q4FArSi6WBMTEwUCoXe3t6Px1pdXZ2fnx8dHX17e7Msi3MuJv39/e7d8vn81NTUl64K4C81F4yhoaFCoTA8POw8P5VKbWxsiPn+/n4ikdA07UeVbduTk5OBQEDX9bW1Nal6je4+AsB/qLlgcM4fHx9zuVwulzs6OlJV1e/37+zsZDIZ8a+Jmgtr56OUpmknJydbW1uXl5eLi4ttXiRAs/7NN9/BYFDTtE93C4fD3d3drb5VgPbBT0IAPCAYAB4QDAAPCAaABwQDwAOCAeABwQDwgGAAeEAwADy4g/EbLt6FsEb7Dj8AAAAASUVORK5CYII=" alt="" />
aaarticlea/png;base64,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" alt="" />
2. 实现的代码
firstActivity.java
package iflab.test; import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.TextView;
import android.widget.Toast; public class firstActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView myTextView = null; // 声明变量 myTextView = (TextView) findViewById(R.id.myTextView); // 获取对象 myTextView.addTextChangedListener(new TextWatcher() { // 添加监听器 @Override
public void afterTextChanged(Editable s) { // 文本改变后
// TODO Auto-generated method stub } @Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
// TODO Auto-generated method stub //文本改变前 } @Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
// TODO Auto-generated method stub //文本改变时
Toast.makeText(
getApplicationContext(),
"原字符串共" + String.valueOf(before) + "个字符。"
+ "从第" + String.valueOf(start)
+ "个字符开始更改为字符串:" + s + "。共"
+ String.valueOf(count) + "字符。",
Toast.LENGTH_LONG).show(); // 显示提示信息
}
});
myTextView.setText("1234567890"); // 重设文本内容 }
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <TextView
android:id="@+id/myTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" /> </LinearLayout>
Android -- 重设字符并统计原字符以及修改字符的长度以及位置的更多相关文章
- c语言程序设计:用strcpy比较数组(银行卡密码程序设计),strcpy(复制数组内容)和getchar()(敲键盘字符,统计不想要的字符的个数)
统计从键盘输入一行字符的个数: 1 //用了getchar() 语句 2 //这里的\n表示回车 #include <stdio.h> #include <stdlib.h> ...
- css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类。自己留存
今天发下我自己的 css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类. @charset "utf-8"; /*! * @名称:base.css * @功能 ...
- c++实现文本中英文单词和汉字字符的统计
源代码下载:http://download.csdn.net/detail/nuptboyzhb/4987141 1.统计文本中汉字的频数,为后续的文本分类做基础.对于汉字的统计,需要判断读取的是否为 ...
- 华为oj之字符个数统计
题目:字符个数统计 热度指数:4720 时间限制:1秒 空间限制:32768K 本题知识点: 字符串 题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127). ...
- Python2018-字符串中字符个数统计
1 编写程序,完成以下要求: 统计字符串中,各个字符的个数 比如:"hello world" 字符串统计的结果为: h:1 e:1 l:3 o:2 d:1 r:1 w:1 prin ...
- 统计一个文件中出现字符'a'的次数
# -*- coding: utf-8 -*- #python 27 #xiaodeng #统计一个文件中出现字符'a'的次数 #http://www.cnblogs.com/hongten/p/ho ...
- Excel 中如何快速统计一列中相同字符的个数(函数法)
https://jingyan.baidu.com/article/6d704a132ea17328da51ca78.html 通过excel快速统计一列中相同字符的个数,如果很少,你可以一个一个数. ...
- C#统计给定的文本中字符出现的次数,使用循环和递归两种方法
前几天看了一个.net程序员面试题目,题目是”统计给定的文本中字符出现的次数,使用循环和递归两种方法“. 下面是我对这个题目的解法: 1.使用循环: /// <summary> /// 使 ...
- Java统计一个字符串中各个字符出现的次数
相信很多人在工作的时候都会遇到这样一个,如何统计一个字符串中各个字符出现的次数呢,这种需求一把用在数据分析方面,比如根据特定的条件去查找某个字符出现的次数.那么如何实现呢,其实也很简单,下面我贴上代码 ...
随机推荐
- float 的有效数字为七位是怎么得出来的
以下内容来自CSDN网友xian_wwq的回答(http://bbs.csdn.net/topics/390874239): float: 1bit(符号位) 8bits(指数位) 23bits( ...
- c++ 调用dll
1.首先写一个dll程序并且输出成dll. 新建win32项目,然后在应用程序类型中选择dll. HelloDll.h: #pragma once #ifndef MYDLL_API_EXPORTS ...
- POJ3694 Network(Tarjan双联通分图 LCA 桥)
链接:http://poj.org/problem?id=3694 题意:给定一个有向连通图,每次增加一条边,求剩下的桥的数量. 思路: 给定一个无向连通图,添加一条u->v的边,求此边对图剩余 ...
- B树算法与实现 (C语言实现)
B树的定义 假设B树的度为t(t>=2),则B树满足如下要求:(参考算法导论) (1) 每个非根节点至少包含t-1个关键字,t个指向子节点的指针:至多包含2t-1个关键字,2t个指向子女的指针 ...
- SOA 架构中的ESB是更好的应用于异构系统集成整合还是用于统一服务调用/基础服务实施
一.讨论主题与观点 写一篇文章.发现一次自觉得有意思的SOA架构方面的讨论,源于昨天AgileEAS.NET SOA 平台群(113723486)里几个群友的一次关于ESB的一次讨论. 大家的讨论观点 ...
- 用Node.js开发Windows 10物联网应用
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 未来10年内,物联网将会如移动互联网这样深入到我们生活的各方各面.所以微软现在对物联网进行了 ...
- ASP.NET MVC 4 WebAPI Simple Sample
// Controllers.cs namespace Microshaoft.WebApi.Controllers { using Microshaoft.WebApi.Models; using ...
- ListView遍历每个Item出现NullPointerException的异常(转)
在使用ListView过程中我们有时候需要遍历取得每个Item项中的一些数据(比如每个Item里面有TextView,需要获取它的文本等等),但是我们在遍历过程中经常会遇到NullPointerExc ...
- 【Tomcat 系统服务】将tomcat设置为系统服务,并且开机自启 + 卸载tomcat服务
1.首先 你得下载一个tomcat[一般都是解压版的,解压放在那里就能用] startup.bat shutdown.bat service.bat等文件都在tomcat的bin目录下 ,例如 ...
- 【MyEcplise hibernate tools】hibernate tools的使用以及错误
1.点击Myecplise右上角 2.点击进入后,在这个区域右键 New 一个新的connection 3.以mySql连接为例子,在这里展示一下,下面这几项必须都要按照要求完全一致,除了架包所在的本 ...