a​n​d​r​o​i​d​中​截​获​软​键​盘

InputConnection是连接软键盘和View之间的通道

 1、先初始化软键盘 InputMethodManager 

input = (InputMethodManager) this.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 

2、创建自定义的InputConnection继承自BaseInputConnection,重载里头的commitText(Charsquence s)截获键盘输入的文字 

public class InputView extends BaseInputConnection{ 

private CellEditView mCellEdit; 

public InputView(View targetView, boolean fullEditor) { 

super(targetView, fullEditor); 

public InputView(CellEditView editView) { 

super(editView, false); 

mCellEdit = editView; 

@Override 

public boolean commitText(CharSequence text, int newCursorPosition) { 

System.out.println("截获的文字   :"+text); 

// return super.commitText(text, newCursorPosition); return true;

 }  


3、在View里重载onCreateInputConnetion,返回自定义InputConnetion对象 

@Override 

public InputConnection onCreateInputConnection(EditorInfo outAttrs) { 

System.out.println("view"); 

return new InputView(this, false); 

4、在View的 onTouchEvent 里方法里 

@Override 

public boolean onTouchEvent(MotionEvent event) { 

// TODO Auto-generated method stub 

this.setFocusableInTouchMode(true);         //每次都要获取焦点才可以,我一直就是错在这里 

input.showSoftInput(this, 0);                       //弹出软键盘 return true; 

}


原文:http://wenku.baidu.com/link?url=dIRilK-UTrzZBR0QPSqs0ydX6PsxJdi9_4CbmvqOSE0Tv1DD_nVVtrsC4WqsiAG0I58pFxEL1OhcLi8YrIlgryuQongoHT48i7yxfxurj-O

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值