Android中TextView输入字数统计和限制

在Android开发应用的时候,文本编辑框中最多输入140个字,经常会显示还剩多少字以限制用户输入的字数,

  EditText content;//定义一个文本输入框

TextView hasnum;// 用来显示剩余字数

int num = 140;//限制的最大字数

  content = (EditText) findViewById(R.id.et_content);

hasnumTV = (TextView) findViewById(R.id.tv_num);

hasnumTV.setText(num+"");

  下面为EditText文本框添加监听

  content.addTextChangedListener(new TextWatcher() {
              private CharSequence temp;
              private int selectionStart;
              private int selectionEnd;

public void beforeTextChanged(CharSequence s, int start, int count, int after) {

              }

          public void onTextChanged(CharSequence s, int start, int before, int count) {
                   temp = s;
              }

                         

              public void afterTextChanged(Editable s) {
                  int number = num - s.length();
                  hasnumTV.setText("" + number);
                  selectionStart = content.getSelectionStart();
                  selectionEnd = content.getSelectionEnd();
                  if (temp.length() > num) {
                      s.delete(selectionStart - 1, selectionEnd);
                      int tempSelection = selectionEnd;
                      content.setText(s);
                      content.setSelection(tempSelection);//设置光标在最后
                  }
              }
     });

时间: 2024-12-15 06:58:42

Android中TextView输入字数统计和限制的相关文章

Android中TextView内容过长加省略号

      textview中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中 Android:ellipsize = "end"   省略号在结尾 android:ellipsize = "start" 省略号在开头 android:ellipsize = "middle"     省略号在中间 android:ellipsize = "marquee"  跑马灯 最好加一个约束android:sin

Android中TextView setText int 报错

在对中TextView setText 覆值int 时报错,网上查下原因是setText整型表明是设值R.id.xxx,当然找不到. 解决方法是将int转化为string,用String.valueOf(xxx) Android中TextView setText int 报错,布布扣,bubuko.com

Android中TextView显示省略号

记录一下Android中Textview显示省略号的属性: android:ellipsize="end"里面有很多设置属性包括start,end,middle等等,很容易理解,这里不多做解释.

Android中TextView和EditView常用属性设置

Android开发中最常用的差不多就是TextView和EditView了,在使用它时,我们也会设置它的一些属性,为了让我们设计的更好看,设置的更合理.这里记下它的常用属性,方便后期查阅. EditText属性描述 android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom android:background="@android:drawable/edit_text"这个属性,

[androidUI特效]android中TextView中如何设置水平滚动效果

如何让文本实现走马灯的效果,下面就一起实现下吧~~~~~~ package irdc.ScrollingText; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ScrollingText extends Activity { public TextView t1; /** Called when the activity is first c

Android中textView自动识别电话号码,电子邮件,网址(自动加连接)

extends:http://blog.csdn.net/wx_962464/article/details/8471195 其实这个是很简单的,在android中已经为我们实现了,但是我估计很多人都不知道.包括我.所以就写下来供大家看看,学习. 核心的就是在TextView中添加一个属性就行了,添加android:autoLink="email|phone|web" 这样我们的程序中就会主动的识别我们的email地址,我们的电话号码,以及我们的web页面. 下面就看看效果图吧.

Android中TextView设置字体

最近项目中出现把字体设置成宋体,微软雅黑,黑体,楷体等的需求; 度娘发现Android系统默认支持三种字体,分别为:"sans", "serif", "monospace",除此之外还可以使用其他字体文件(*.ttf) 代码如下: //得到TextView控件对象        TextView textView =(TextView)findViewById(R.id.custom); //将字体文件保存在assets/fonts/目录下,创建

android中TextView内容竖向显示

项目中遇到需要textview内容竖着排的需求,如图所示: 网上那些"教程"并不能达到需要的效果,发现有一个属性可以支持这种效果,android:ems="*",这是属性表示一行只显示*个字符. 具体代码如下: 1 <TextView 2 android:layout_centerInParent="true" 3 android:id="@+id/leaderName" 4 android:layout_width=&

android中TextView 添加ClickableSpan后点击选中文字背景问题

TextView中的setHighlightColor(int color)用于设置选中文字背景色高亮显示. 比如以下: public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FrameLayout frameLayout = new FrameL