我想在用户按下EditText中的输入按钮时做一些事情(这是多行editText意味着用户可以写多行) 我只想检测按下的回车键 使用的代码如下所示
<EditText
android:id="@+id/body"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:hint="@string/hint"
android:padding="5dp"
android:scrollbars="vertical"
android:textColor="@android:color/black"
android:textCursorDrawable="@null"
android:textSize="22sp" />
和听众是
mBodyText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if ((keyEvent.getAction()== KeyEvent.ACTION_UP)) {
if(i == KeyEvent.KEYCODE_ENTER){
Toast.makeText(getApplicationContext(), "neter presed", Toast.LENGTH_LONG).show();
return true;
}
}
return false;
}
});
但是当我按下时它没有显示任何东西但是当我长按输入键时显示
和setOnEditorActionListener是
mBodyText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
if ((keyEvent.getAction()== KeyEvent.ACTION_UP)) {
if(i == KeyEvent.KEYCODE_ENTER){
Toast.makeText(getApplicationContext(), "neter presed", Toast.LENGTH_LONG).show();
return true;
}
}
return false;
}
});
当我按下回车键并且当我长按回车键时应用程序崩溃时,它没有显示任何内容 请帮助我,我很长时间尝试它
答案 0 :(得分:1)
失望的人没有回答我的问题,但我在自己的资源上解决了这个问题
setOnKeyListener没有工作,因为一些Android设备不支持这个,但大多数都支持
和setOnEditorActionListener导致崩溃,因为我试图从数据库中获取数据并在活动开始时在我的EditText视图中显示
非常感谢@ isma3l