কোটলিন সলিউশন
কোটলিনে হাইড কীবোর্ড + সম্পন্ন ক্রিয়াটি হ্যান্ডেল করার সরাসরি উপায় হ'ল:
// Set action
edittext.setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
// Hide Keyboard
val inputMethodManager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(windowToken, 0)
true
}
false
}
কোটলিন এক্সটেনশন
edittext.onDone {/*action*/}
আপনার মূল কোডটিতে কল করতে এটি ব্যবহার করুন । এটি আরও পঠনযোগ্য এবং রক্ষণাবেক্ষণযোগ্য রাখে
edittext.onDone { edittext.hideKeyboard() }
fun View.hideKeyboard() {
val inputMethodManager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager
inputMethodManager.hideSoftInputFromWindow(windowToken, 0)
}
fun EditText.onDone(callback: () -> Unit) {
// These lines optional if you don't want to set in Xml
imeOptions = EditorInfo.IME_ACTION_DONE
maxLines = 1
setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_DONE) {
callback.invoke()
true
}
false
}
}
অতিরিক্ত কীবোর্ড এক্সটেনশনগুলি
আপনি যদি কীবোর্ডের সাথে কাজটি আরও সহজ করার আরও উপায় চান (শো, বন্ধ, ফোকাস): এই পোস্টটি পড়ুন
কোডে না থাকলে আপনার এডিটেক্সট এক্সএমএলে এই বিকল্পগুলি যুক্ত করতে ভুলবেন না
<EditText ...
android:imeOptions="actionDone"
android:inputType="text"/>
inputType="textMultiLine"
সমর্থন দরকার ? এই পোস্টটি পড়ুন এবং এক্সএমএল imeOptions
বা যুক্ত করবেন নাinputType