I have a number of EditText
s in my page along with two buttons. I want the user to touch on any one EditText
field and click any button to insert a certain value into that very EditText
field he touched. Giving input using keypad is not allowed. Please help me to do this.
相关问题
- How can I create this custom Bottom Navigation on
- Bottom Navigation View gets Shrink Down
- How to make that the snackbar action button be sho
- Listening to outgoing sms not working android
- How to create Circular view on android wear?
相关文章
- android开发 怎么把图片放入drawable的文件夹下
- android上如何获取/storage/emulated/下的文件列表
- androidStudio有个箭头不认识
- SQLite不能创建表
- Windows - Android SDK manager not listing any plat
- Animate Recycler View grid when number of columns
- Why is the app closing suddenly without showing an
- Android OverlayItem.setMarker(): Change the marker
In your activity or fragment implement OnFocusChangeListener.
You will have to check which view changed focus by getting the view id with view.getId() and handle accordingly.
You can use
View.OnFocusChangeListener
to detect if any view (edittext) gained or lost focus.This goes in your activity or fragment or wherever you have the EditTexts. The
....
is just saying that you can put it anywhere else in the class. And obviously you would need to create an array with them in it, thus theeditList
.This works for me. It returns a boolean.
With Java 8 lambdas:
Note that the view inside the lambda function is actually an instance of an EditText.
Have your
Fragment
implementOnTouchListener
&OnFocusChangeListener
:Then implement using:
Don't forget to set your listener after creating your
EditText
This way if an
EditText
box is focused by default but user has not changed the field it will not fire theonFocusChange
event.