在我们的项目开发中,有时会遇到这样的需求:当用户在输入框中进行了粘贴 *** 作,直接就使用粘贴的内容进行服务端接口的请求,不需要用户再点击确认后才去进行接口请求。
对于这种情况,可以想到两种方式实现:
其实以上两种业务实现方式都涉及到了监听复制、剪切、粘贴事件。
1 - 通过剪切板监听。
2 - 通过自定义EditText,重写onTextContextMenuItem() 方法实现监听。
剪切板的实现其实在官方文档中找到相应的内容。
我这里只监听了粘贴事件。如果有需要,可以自行拓展回调接口。
通过这种方法监听有点要注意,那就是你在回调中是获取不到复制、剪切、粘贴的文本内容的。想要获取到复制、剪切的文本还是需要通过监听剪切板去获取。
粘贴的内容的获取 其实可以在Activity中添加个标记,在TextWatcher中判断此标记。这样可以间接的获取到粘贴内容。因为在onTextContextMenuItem(),自定义的回调先于superonTextContextMenuItem(id)执行。这只加单写了EditText中内容为空的情况,如果有内容,那么自己去进行字符串的逻辑 *** 作吧。我这里就不写了。 实测有效哦。
OK,本章内容到此就结束了。如果大家有什么更好的方法,或者觉得我的方法有啥可以改进的地方,欢迎评论留言哦。
上述代码方法是没错的,你无法成功运行的原因很可能是你的this指代的东西出现问题,不是当前fragment的view,很有可能你放在某个其他的块作用域运行的;将name1 = (EditText) thisfindViewById(Ridwhy);替换到对的作用域上就可以获取成功了。
Android中有许多写法创建事件处理方式,一般会使用Android:onClick属性来指定。
举例说明:
实现摄氏温度到华氏温度的转变
1、
EditText editText1 =(EditText) findViewById (RideditText1)
c=IntegerparseInt(editText1getText()toString());
用来获取editText1中的信息
2、
EditText editText2 =(EditText) findViewById (RideditText2);
f=(90c)/50+320;
editText2setText(StringvalueOf(f));
通过editText1 获取的信息然后经过计算
将计算的结果返回editText2中然后在editText2中显示出来
扩展资料:
EditText 控件的用法
EditText 在开发中也是经常用到的控件,也是一个比较必要的组件。
它是用户跟Android应用进行数据传输的窗户。
1、android:text设置文本内容。
2、android:textColor字体颜色。
3、android:hint内容为空时候显示的文本。
4、android:textColorHint为空时显示的文本的颜色。
5、android:maxLength限制显示的文本长度,超出部分不显示。
6、android:minLines设置文本的最小行数。
7、android:gravity设置文本位置,如设置成“center”,文本将居中显示。
8、android:drawableLeft在text的左边输出一个drawable,如。
问答

下载

社区
推荐频道

活动

招聘

专题
打开CSDN APP
Copyright © 1999-2020, CSDNNET, All Rights Reserved


打开APP


Android中的EditText 获取不到内容的问题 原创
2020-05-07 17:56:50
 4点赞

只要学习永远不亏 
码龄5年
关注
Android中的EditText 获取不到内容的问题
先贴代码:
private EidtText mUserName;
private EidtText mPassword;
String name,password;
mUserName = (EditText)mUserNamefindViewById(Ridusername);
mPassword = (EditText)mPasswordfindViewById(Ridpasswrod);
name = mUserNamegetText()toString();
password = mPasswordgetText()toString();
上面这个代码看似没啥问题但是今天就遇发现输出的时候是" “,里面并没有数据? 我咋看咋没毛病啊,怎么可能没有数据呢, 然后我就打debug发现,给name和password赋值的时候 就是” ", 咋看咋没啥毛病, 后来一下想起来为什么获取不到了,尽快做了修改… 发现可以了…
如果想即时获取的话需要给 mUserName和mPassword加一个监听, 也就是setOnScrollChangeListener() 这个监听,在监听方法里在赋值就可以
一次性获取也可以的, 只要加一个按钮 在按钮的点击事件里 onClick(); 这里在getText(); 也是可以获取到的…
由于太久不写了, 今天冷不丁一写竟然犯了一个这么粗心的错误…
写一篇这个笔记记录一下
你都没有给content赋值, 没看到你那个content都变成**警告了吗, 你把前面的EditText去掉就行了
thiscontent = findViewById 就行了
以上就是关于Android 监听复制、剪切、粘贴事件,粘贴后直接进行接口请求全部的内容,包括:Android 监听复制、剪切、粘贴事件,粘贴后直接进行接口请求、安卓开发中,如何获得EditText内容、如何得到android EditText里面的字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)