我试图做一个"输入" EditText的软键处理程序,并且与此处描述的问题基本相同。 。 。 OnEditorActionListener code
即,"必须实现继承的抽象方法.onEditorAction .."所以我尝试使用该链接中列出的解决方案,但是以更简化的形式尝试将其编译。 。
edVacLevel.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView arg0, int keycode) {
return true;
}
});
...现在它标记OnEditorActionListener并说" Class必须被声明为abstract或实现抽象方法" 然而,在Web和StackOverflow中查看其他示例,这似乎是在EditText中处理Enter Keys的规范方法。那么我做错了什么? (Android Studio 2.2.2)
答案 0 :(得分:1)
检查你的参数是否有onEditorAction()方法。他们应该是。 所以你的代码看起来应该是
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
//Do your stuff here
return true;
}
return false;
}
Java抱怨,因为您应该使用相应的参数类型覆盖确切的方法名称。