use*_*582 12 android enter android-edittext
我一直在关注官方Android教程,并且在按下"Enter"为EditText后执行函数这个非常简单的示例时遇到了问题.
我明白我应该做什么,并且似乎已经正确设置了所有东西,但Eclipse正在抱怨这条线:
edittext.setOnKeyListener(new OnKeyListener() {
Run Code Online (Sandbox Code Playgroud)
它强调setOnKeyListener
错误:
类型View中的方法setOnKeyListener(View.OnKeyListener)不适用于参数(new DialogInterface.OnKeyListener(){})
并且还强调OnKeyListener
了错误:
新类型DialogInterface.OnKeyListener(){}必须实现继承的抽象方法DialogInterface.OnKeyListener.onKey(DialogInterface,int,KeyEvent)
也许有人可以朝着正确的方向射击我?在我尝试其他解决方案之前(我已经在stackoverflow上找到),我真的很想解决这个问题,因为它让我感到慌乱,因为官方教程看起来不那么简单.
提前致谢.
Moh*_*lah 50
要接收键盘事件,View 必须具有焦点.强制使用:
edittext.setFocusableInTouchMode(true);
edittext.requestFocus();
Run Code Online (Sandbox Code Playgroud)
之后继续使用示例中的相同代码:
edittext.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on key press
Toast.makeText(HelloFormStuff.this, edittext.getText(), Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
MrZ*_*der 12
从我所看到的,看起来你有错误的导入.
尝试
edittext.setOnKeyListener(new View.OnKeyListener() {
Run Code Online (Sandbox Code Playgroud)
或者添加此导入
import android.view.View.OnKeyListener;
Run Code Online (Sandbox Code Playgroud)
并删除这一个
import android.content.DialogInterface.OnKeyListener;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
45326 次 |
最近记录: |