Android 4.0-Launcher-FolderEdit-onKeyPreIme

从这个星期开始看Android 4.0的code了。很久没有看source code了,还是在09年和10年看的1.5版本,现在4.0已经出来,觉得这是一个重新切入的版本,毕竟他是Tablet和smart phones的统一版本.我选择学习的第一app是Launcher,在1.5的版本觉得它的是源码最多的一个,在4.0却是Gallery了。接下来我针对学习Launcher过程掌握到新的API和心得体会进行记录:

在Launcher中提供了Folder 这个功能,Folder还可以命名,其中命名的输入框就是一个EditText,在这里重载了EditText,重载类为:FolderEditText
我们看其源码:
package com.android.launcher2;

import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.widget.EditText;

public class FolderEditText extends EditText {

private Folder mFolder;

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

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

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

public void setFolder(Folder folder) {
mFolder = folder;
}

@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
// Catch the back button on the soft keyboard so that we can just close the activity
if (event.getKeyCode() == android.view.KeyEvent.KEYCODE_BACK) {
mFolder.doneEditingFolderName(true);
}
return super.onKeyPreIme(keyCode, event);
}
}


在这个class里面Override了这个onKeyPreIme这个function,就是为了捕获back key event进行处理,也就是比IME输入法更早处理该Event.若以后我们要在EditText中处理Back key event,我们就可以重载该函数。若不重载,那系统就会先把back key event发给IME了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值