update - Android detect اضغط على مفتاح Done للوحة المفاتيح OnScreen





download apps (3)


تعد "معلومات المحرر" أكثر الصفوف مفيدة عندما يتعين عليك التعامل مع أي نوع من إدخال المستخدم في تطبيق Android الخاص بك. على سبيل المثال في عمليات تسجيل الدخول / التسجيل / البحث ، يمكننا استخدامه للحصول على إدخال أكثر دقة للوحة المفاتيح. يصف صنف معلومات المحرّك عدة سمات لكائن تحرير النصّ ، بحيث تتواصل طريقة الإدخال مباشرة مع محتويات النصّ المحرّرة.

يمكنك تجربة IME_ACTION_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;
        }
    });

هل من الممكن اكتشاف متى تم الضغط على مفتاح " تم" من لوحة المفاتيح على الشاشة؟




نعم هذا ممكن:

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;



في ما يلي طريقة تنفيذ ذلك في Mono لنظام Android (AKA MonoDroid)

InputMethodManager imm = GetSystemService (Context.InputMethodService) as InputMethodManager;
if (imm != null)
    imm.HideSoftInputFromWindow (searchbox.WindowToken , 0);




android