Android ऑनस्क्रीन स्क्रीन कीबोर्ड के लिए किया गया कुंजी दबाएं


111

क्या यह पता लगाना संभव है Doneकि ऑनस्क्रीन कीबोर्ड की कुंजी कब दबाया गया था?

जवाबों:


276

हाँ यह संभव है:

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;

धन्यवाद, आपने मुझे एक शानदार शुरुआत दी। बस मुझे EditorInfo.IME_ACTION_SEARCHइसके बजाय लेंस खोज-बटन का उपयोग करने की आवश्यकता थी ।
TechNyquist

? हाय, साथ ButterKnife @ mikeyaworski @ SzabolcsBerecz यह संभव है
मौलिक Dodia

1
@MaikikDodia आप बटरकैफ के @OnEditorAction () का उपयोग कर सकते हैं
Ridcully

धन्यवाद। मैं इसके साथ @ Ridcully
Maulik Dodia

3

जब आप अपने 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;
    }
});

कस्टम कीबोर्ड के साथ एक ही समस्या को कैसे संभालना है?
गजु कोल्लूर

0

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;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.