SORU
6 AĞUSTOS 2010, Cuma


Kullanıcı, yumuşak klavye reddetti zaman tespit

Benim görüşüme göre EditText bir widget var. Kullanıcı EditText widget seçtiğinde, bazı talimatlar ve yumuşak klavye görüntülenir görüntüleyebilir.

Kullanıcı metin girişi tamamlandı ve ben klavyeyi kapatmak, talimatları gizlemek ve bazı eylemleri gerçekleştirmek algılamaya bir OnEditorActionListener kullanıyorum.

Benim sorunum kullanıcı GERİ tuşuna basarak klavye kapatılır. OS klavye reddetti, ama benim talimatları saklamak için ihtiyacım olan) hala görülebilir.

OnKeyDown ağır basan denedim, ama GERİ düğmesi klavyeyi kapatmak için kullanıldığında adlı görünmüyor.

EditText widget bir OnKeyListener ayarı denedim, ama bu da adlı görünmüyor.

Ne kadar yumuşak klavye nitelendirdi ediliyor algılayabilir miyim?

CEVAP
13 Mayıs 2011, Cuma


Jay, çözüm, iyi ! teşekkür ederim :)

public class EditTextBackEvent extends EditText {

    private EditTextImeBackListener mOnImeBack;

    public EditTextBackEvent(Context context) {
        super(context);
    }

    public EditTextBackEvent(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public EditTextBackEvent(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean onKeyPreIme(int keyCode, KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
            if (mOnImeBack != null) mOnImeBack.onImeBack(this, this.getText().toString());
        }
        return super.dispatchKeyEvent(event);
    }

    public void setOnEditTextImeBackListener(EditTextImeBackListener listener) {
        mOnImeBack = listener;
    }

}

public interface EditTextImeBackListener {
    public abstract void onImeBack(EditTextBackEvent ctrl, String text);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • expertvillage

    expertvillag

    5 NİSAN 2006
  • Kim Barbin

    Kim Barbin

    3 Mayıs 2012
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010