क्या यह पता लगाना संभव है Doneकि ऑनस्क्रीन कीबोर्ड की कुंजी कब दबाया गया था?
क्या यह पता लगाना संभव है Doneकि ऑनस्क्रीन कीबोर्ड की कुंजी कब दबाया गया था?
जवाबों:
हाँ यह संभव है:
editText = (EditText) findViewById(R.id.edit_text);
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
// do your stuff here
}
return false;
}
});
ध्यान दें कि आपको निम्नलिखित पुस्तकालय आयात करने होंगे:
import android.view.KeyEvent;
import android.view.inputmethod.EditorInfo;
import android.widget.TextView;
जब आप अपने Android एप्लिकेशन में किसी भी प्रकार के उपयोगकर्ता इनपुट से निपटते हैं, तो एक संपादक जानकारी सबसे उपयोगी वर्ग होती है। उदाहरण के लिए लॉगिन / पंजीकरण / खोज संचालन में हम इसका उपयोग अधिक सटीक कीबोर्ड इनपुट के लिए कर सकते हैं। एक संपादक जानकारी वर्ग टेक्स्ट एडिटिंग ऑब्जेक्ट के लिए कई विशेषताओं का वर्णन करता है कि एक इनपुट पद्धति सीधे टेक्स्ट सामग्री को संपादित करने के साथ संवाद करेगी।
आप IME_ACTION_DONE के साथ प्रयास कर सकते हैं ।
यह क्रिया Doneइनपुट के बिना कुछ के लिए एक ऑपरेशन करती है और IMEबंद हो जाएगी।
SetOnEditorActionListener का उपयोग करना
EditTextObj.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_DONE) {
/* Write your logic here that will be executed when user taps next button */
handled = true;
}
return handled;
}
});
Butterknife का उपयोग करके आप ऐसा कर सकते हैं
@OnEditorAction(R.id.signInPasswordText)
boolean onEditorAction(TextView v, int actionId, KeyEvent event){
if (actionId == EditorInfo.IME_ACTION_DONE || event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
/* Write your logic here that will be executed when user taps next button */
}
return false;
}
EditorInfo.IME_ACTION_SEARCHइसके बजाय लेंस खोज-बटन का उपयोग करने की आवश्यकता थी ।