当前位置:首页 > 房产信息

edittext Android多个EditText输入效果解决方案

在开发中,我们经常会遇到这种情况

我们经常需要的是以下效果

但是在Activity中编写这些实现的代码会比较麻烦,会影响代码的美观

所以有以下辅助类,禁用按钮的点击事件和按钮的渐变颜色,可以同时添加一个或多个EditText

/**

*文本输入辅助类,通过管理多个文本视图或编辑文本输入是空来启用或禁用按钮点击事件

*/

publicffinalclastextinputThreadimplementTextWatcher {

privateView mMainView//操作按钮视图

privateList<。TextView>。mViewSet//文本视图集合,子类也可以(编辑文本,文本视图,按钮)

privatebooleanisAlpha//设置透明度

publicTextInputHelper(视图视图){

这(观点,真实);

{}

/**

*构造函数

*

* @paramView跟随EditText或TextView输入为空判断是否启动或禁用此视图。

* @ paramalpha是否需要设置透明度

*/

publicTextInputHelper(视图视图,booleanalpha

if(view = = null)thrownew illegalargumentexception("视图为空");

mMainView = view

isAlpha = alpha

{}

/**

*添加编辑文本或文本查看收听

*

* @在一个或多个编辑文本或文本视图对象中传递的参数视图

*/

公共无效添加视图(文本视图...视图){

if(view = = null)返回;

if(mViewSet == null) {

mViewSet = newArrayList & lt>。(view . length-1);

{}

for(TextView视图:视图){

view . addtextchangedlistener(this);

mViewSet.add(视图);

{}

after text changed(null);

{}

/**

*删除编辑文本监控以避免内存泄漏

*/

publicavitremoveview(){

if(mViewSet == null)返回;

for(TextView视图:mViewSet) {

view . removetextchangedlistener(this);

{}

mviewset . clear();

mViewSet = null

{}

//文本监视器

@覆盖

public void beforestextchanged(char sequence s,intstart,intcount,in after){ }

@覆盖

publicavitontextchanged(char sequence s,intstart,intbefore,intcount){}

@覆盖

public synchronizeddriftextchanged(可编辑){

if(mViewSet == null)返回;

for(TextView视图:mViewSet) {

if(")。equals(view.getText()。toString())) {

set ENabled(false);

返回;

{}

{}

set ENabled(true);

{}

/**

*设置查看事件

*

* @paramenabled启用或禁用视图事件

*/

public void setenabled(boolean enabled){

if(enabled = = mmainview . isenabled())返回;

if(enabled) {

//启用视图事件

mmainview . set ENabled(true);

if(isAlpha) {

//设置不透明度

mmainview . SetAlpha(1f);

{}

} else{

//禁用视图事件

mmainview . setenabled(false);

if(isAlpha) {

//设置半透明

mmainview . SetAlpha(0.5f);

{}

{}

{}

{}

创建活动时添加监听

privateTextInputHelper mInputHelper;

@覆盖

受保护的无效创建(捆绑保存的实例){

super . OnCreate(SaveDinstancestate);

//创建一个辅助类,传入按钮操作视图

mInputHelper = new textinputhelper(Mbutton);

minputhelper . addview(medittext 1,mEditText2,medittext 3);

{}

销毁活动时删除监控(以避免内存泄漏)

@覆盖

protectedvoidonDestroy(){

super . ondestroy();

//移除引用以避免内存泄漏

minputhelper . remove view();

{}

需要注意的是,这里不仅可以添加EditText,还可以添加TextView,因为EditText是TextView的子类,所以如果好用的话记得表扬一下。

所有人都在看

1.《edittext Android多个EditText输入效果解决方案》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《edittext Android多个EditText输入效果解决方案》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/610879.html

上一篇

保温胶水 保温棉胶水—为您介绍保温棉胶水

下一篇

酒精95度可以消毒吗 用酒精擦桌子可以消毒吗

马桶上的两个按钮有什么区别 马桶上的两个按钮有什么区别

  • 马桶上的两个按钮有什么区别 马桶上的两个按钮有什么区别
  • 马桶上的两个按钮有什么区别 马桶上的两个按钮有什么区别
  • 马桶上的两个按钮有什么区别 马桶上的两个按钮有什么区别

壁挂炉上按键使用方法 壁挂炉插头上的按钮是干什么用的

  • 壁挂炉上按键使用方法 壁挂炉插头上的按钮是干什么用的
  • 壁挂炉上按键使用方法 壁挂炉插头上的按钮是干什么用的
  • 壁挂炉上按键使用方法 壁挂炉插头上的按钮是干什么用的

图片编辑器在线使用 手把手教你使用这款在线图片编辑器,别再说你不会作图了

  • 图片编辑器在线使用 手把手教你使用这款在线图片编辑器,别再说你不会作图了
  • 图片编辑器在线使用 手把手教你使用这款在线图片编辑器,别再说你不会作图了
  • 图片编辑器在线使用 手把手教你使用这款在线图片编辑器,别再说你不会作图了

燃气卡充值后怎么刷到表里 燃气表充值后怎么按钮

  • 燃气卡充值后怎么刷到表里 燃气表充值后怎么按钮
  • 燃气卡充值后怎么刷到表里 燃气表充值后怎么按钮
  • 燃气卡充值后怎么刷到表里 燃气表充值后怎么按钮

北语黑眼睛 求北语黑眼睛雅思听力pdf文本?

题目:求北语黑眼睛雅思听力pdf文本?不胜感激啊~金币可追加~解答:http://1.com/d/uploads2/2020-10/17/fk3kbf1vjpi...

黑眼睛听力 (完整版)雅思黑眼睛听力的文本和MP3啊!

题目:(完整版)雅思黑眼睛听力的文本和MP3啊!解答:8.0姐告诉你 考雅思乱七八糟的书不要乱做 一定要且只要做真题 cambridge1 2是模拟题34567都是真题作文就看有一本新东方印的蓝色...

带LED灯按钮开关 带灯按钮开关怎么接线

  • 带LED灯按钮开关 带灯按钮开关怎么接线
  • 带LED灯按钮开关 带灯按钮开关怎么接线
  • 带LED灯按钮开关 带灯按钮开关怎么接线

苹果主屏幕按钮怎么设置 主屏幕按钮怎么调出来【图文教程】

在我们 苹果 的iOS系统里,有一个特殊又有趣的功能,翻译成中文就是“虚拟辅助按钮”,也就是说,我们的苹果手机键盘上没有按键哦,我们在使用的时候通常在手机上可以看到一个小白点或小圆点。很多朋友都会...