类型为myClass的方法onKeyPreIme(int,KeyEvent)必须覆盖或实现超类型

问题描述:

我试图在应用程序中创建一个锁定屏幕,以便当用户请求(远程)时,手机将使用预设密码锁定自己。类型为myClass的方法onKeyPreIme(int,KeyEvent)必须覆盖或实现超类型

我想使用onKeyPreIme方法,因为我读了onKeyDown()和其他相关的方法有时会在Android系统执行默认操作(罕见也许,但可能)后消耗。

我让我的代码扩展视图而不是活动,并让onKeyPreIme工作,但没有其他编码将在那一点工作,因为我需要扩展活动。 我也尝试过实现KeyEvent.Callback,但是这并没有改变任何东西。 我在Eclipse中检查了我的设置,它基于java 1.6开发,我的android插件与我的Eclipse完全一致。 我所拥有的eclipse是面向Java开发人员的Eclipse IDE,还有适用于Java EE开发人员和Eclipse Classic的Eclipse IDE。我想知道这两者是否会有所不同?

我最初在Eclipse中构建了这个项目,所以它不是从其他地方导入的,所以我知道这不是问题。

@Override 
public boolean onKeyPreIme(int keyCode, KeyEvent event) { 
//do my work here 
return super.onKeyPreIme(keyCode, event); 
} 

我试过不重写,但当然,这并不做任何事情,我也得到“的方法onKeyPreIme(INT,KeyEvent)方法是未定义的活动类型”为“返回super.onKeyPreIme”

我在做什么损失得到onKeyPreIme工作。

如果我不能得到它的工作,会有什么弊端使用的onkeydown(和的onkeyup和onKeyLongPress)来代替?

任何人都有关于如何让OnKeyPreIme工作的任何想法k正确吗?

OnKeyPreIme是一个View函数,所以您必须实现自定义View组件并覆盖那里的函数。

+0

你能告诉如何实现OnKeyPreIme从Android软键盘获取输入,并且它也需要触摸输入吗? – TRonZ 2012-07-20 13:51:38