android更新view长度,android – 编辑文本最大长度并在texview中显示长度

本文介绍如何在Android应用中设置EditText的最大输入字符数,并通过编程实现当达到最大长度时阻止输入,同时实时更新剩余字符数。提供两种方法:XML属性设置和编程控制,以及如何在TextView中显示剩余字符数。
摘要由CSDN通过智能技术生成

我有一个编辑文本和一个文本视图,我想在我的编辑文本中设置一个Max长度,它在我的文本视图中显示,每次用户输入一个字符时,它将减去字符数.例如,我将编辑文本的最大长度设置为150,如果用户输入150个字符,则他/她不能再输入.

如何解决这个问题?

解决方法:

要设置EditText的最大长度(选择一个或另一个):

>在您的XML文件(推荐)中,使用属性android:maxLength =“150”Ex:

android:id="@+id/yourEditTextId"

...

android:maxLength="150" />

>以编程方式(在您的onCreate方法中),如下所示:

EditText et = (EditText)findViewById(R.id.yourEditTextId);

et.setFilters(new InputFilter[] {

new InputFilter.LengthFilter(150) // 150 is max length

});

要保留EditText中剩余长度的计数器:

在onCreate方法中添加此侦听器(或在任何地方,但在onCreate中有意义):

final EditText et = (EditText)findViewById(R.id.yourEditTextId);

et.addTextChangedListener(new TextWatcher() {

@Override

public void afterTextChanged(Editable s) {

TextView tv = (TextView)findViewById(R.id.yourTextViewId);

tv.setText(String.valueOf(150 - et.length()));

}

@Override

public void onTextChanged(CharSequence s, int st, int b, int c)

{ }

@Override

public void beforeTextChanged(CharSequence s, int st, int c, int a)

{ }

});

标签:android

来源: https://codeday.me/bug/20191008/1870474.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值