VIVO手機(jī)上del鍵無效OnKeyListener不響應(yīng)的原因及解決方法
在修改交易密碼界面用到一個自定義輸入框
類似這種(原諒丑了點(diǎn)~)
結(jié)果昨天有用戶反饋在VIVO手機(jī)上回出現(xiàn),Del鍵無效的問題~~~
最后發(fā)現(xiàn)是:EdiText的OnKeyListener
沒有響應(yīng)。
最后搜搜了一下,找到了解決方案:重寫EdiTextView的InputConnectionWrapper
的方法后解決了問題:
代碼如下:
public class ZanyEditText extends EditText { private OnDelKeyEventListener delKeyEventListener; public ZanyEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public ZanyEditText(Context context, AttributeSet attrs) { super(context, attrs); } public ZanyEditText(Context context) { super(context); } @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { return new ZanyInputConnection(super.onCreateInputConnection(outAttrs), true); } private class ZanyInputConnection extends InputConnectionWrapper { public ZanyInputConnection(InputConnection target, boolean mutable) { super(target, mutable); } @Override public boolean sendKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_DEL) { if (delKeyEventListener != null) { delKeyEventListener.onDeleteClick(); return true; } } return super.sendKeyEvent(event); } @Override public boolean deleteSurroundingText(int beforeLength, int afterLength) { if (beforeLength == 1 && afterLength == 0) { return sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL)) && sendKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL)); } return super.deleteSurroundingText(beforeLength, afterLength); } } /** * * 功能描述: <br> * 〈功能詳細(xì)描述〉 * * @param delKeyEventListener EditText刪除回調(diào) */ public void setDelKeyEventListener(OnDelKeyEventListener delKeyEventListener) { this.delKeyEventListener = delKeyEventListener; } public interface OnDelKeyEventListener { void onDeleteClick(); } }
參考:http://stackoverflow.com/questions/4886858/android-edittext-deletebackspace-key-event%22
以上所述是小編給大家介紹的VIVO手機(jī)上del鍵無效OnKeyListener不響應(yīng)的原因及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS關(guān)鍵字static extern const使用示例詳解
這篇文章主要為大家介紹了iOS關(guān)鍵字static extern const使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11總結(jié)IOS關(guān)閉鍵盤/退出鍵盤的五種方式
IOS開發(fā)中經(jīng)常要用到輸入框,默認(rèn)情況下點(diǎn)擊輸入框就會彈出鍵盤,但是必須要實(shí)現(xiàn)輸入框return的委托方法才能取消鍵盤的顯示,對于用戶體驗(yàn)來說很不友好,我們可以實(shí)現(xiàn)例如點(diǎn)擊鍵盤以外的空白區(qū)域來將鍵盤關(guān)閉的功能,以下是我總結(jié)出的幾種關(guān)閉鍵盤的方法。2016-08-08IOS中MMDrawerController第三方抽屜效果的基本使用示例
這篇文章主要介紹了IOS中MMDrawerController第三方抽屜效果的基本使用示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02IOS UITableViewCell詳解及按鈕點(diǎn)擊事件處理實(shí)例
這篇文章主要介紹了IOS UITableViewCell詳解及按鈕點(diǎn)擊事件處理實(shí)例的相關(guān)資料,這里附有示例代碼,大家可以看下如何實(shí)現(xiàn)按鍵點(diǎn)擊事件,需要的朋友可以參考下2016-12-12iOS App開發(fā)中Core Data框架基本的數(shù)據(jù)管理功能小結(jié)
除了使用SQL關(guān)系型數(shù)據(jù)庫,我們還可以使用Xcode中提供的Core Data來進(jìn)行表結(jié)構(gòu)數(shù)據(jù)處理,這里我們就來初步整理iOS App開發(fā)中Core Data框架基本的數(shù)據(jù)管理功能小結(jié):2016-06-06iOS實(shí)現(xiàn)手指點(diǎn)擊出現(xiàn)波紋的效果
最近在閑暇的時(shí)間做了一個反饋手指點(diǎn)擊屏幕的效果,用到了CAShapeLayer和基本的動畫知識,實(shí)現(xiàn)的效果很贊,這種效果使用在某些頁面上肯定會給用戶更有趣的體驗(yàn),特別是面向兒童的app中。文中給出了詳細(xì)的示例代碼,感興趣的朋友們下面來一起看看吧。2016-12-12iOS實(shí)現(xiàn)自動循環(huán)播放的banner實(shí)例詳解
輪播視圖通常也叫Banner,90%以上App都會用到的一個控件,網(wǎng)上有很多開源代碼,下面這篇文章主要給大家介紹了關(guān)于利用iOS如何實(shí)現(xiàn)自動循環(huán)播放的banner的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12