VIVO手機(jī)上del鍵無效OnKeyListener不響應(yīng)的原因及解決方法
在修改交易密碼界面用到一個自定義輸入框
類似這種(原諒丑了點~)
結(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)的原因及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(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)情況下點擊輸入框就會彈出鍵盤,但是必須要實現(xiàn)輸入框return的委托方法才能取消鍵盤的顯示,對于用戶體驗來說很不友好,我們可以實現(xiàn)例如點擊鍵盤以外的空白區(qū)域來將鍵盤關(guān)閉的功能,以下是我總結(jié)出的幾種關(guān)閉鍵盤的方法。2016-08-08
IOS中MMDrawerController第三方抽屜效果的基本使用示例
這篇文章主要介紹了IOS中MMDrawerController第三方抽屜效果的基本使用示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02
IOS UITableViewCell詳解及按鈕點擊事件處理實例
這篇文章主要介紹了IOS UITableViewCell詳解及按鈕點擊事件處理實例的相關(guān)資料,這里附有示例代碼,大家可以看下如何實現(xiàn)按鍵點擊事件,需要的朋友可以參考下2016-12-12
iOS 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-06
iOS實現(xiàn)自動循環(huán)播放的banner實例詳解
輪播視圖通常也叫Banner,90%以上App都會用到的一個控件,網(wǎng)上有很多開源代碼,下面這篇文章主要給大家介紹了關(guān)于利用iOS如何實現(xiàn)自動循環(huán)播放的banner的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12

