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

时间:2011-06-10 00:14:05

标签: android override onkeydown implements supertype

我正在尝试在应用中创建锁定屏幕,以便当用户(远程)请求时,手机将使用预设密码锁定自己。

我正在尝试使用onKeyPreIme方法,因为我读到了onKeyDown(),其他相关方法有时会在android系统执行默认操作后消耗(很少见,但可能)。

我使我的代码扩展了View而不是Activity,并且让onKeyPreIme工作,但是其他编码都不会起作用,因为我需要为此扩展Activity。 我也尝试过实现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)未定义类型Activity”for'return super.onKeyPreIme“

我无法做些什么才能让KeyPreIme工作。

如果我无法使用它,那么使用onKeyDown(以及onKeyUp和onKeyLongPress)会有任何缺点吗?。

任何人对如何使OnKeyPreIme正常工作有任何想法?

1 个答案:

答案 0 :(得分:1)

OnKeyPreIme是一个View函数,因此您必须实现自定义View组件并覆盖其中的函数。