Java 为什么我不能写文本?
在过去的三个小时里,我一直在努力让它工作,现在我需要你的帮助。我只想在用户单击“完成”时记录我的editText中的文本: 以下是XML:Java 为什么我不能写文本?,java,android,xml,string,algorithm,Java,Android,Xml,String,Algorithm,在过去的三个小时里,我一直在努力让它工作,现在我需要你的帮助。我只想在用户单击“完成”时记录我的editText中的文本: 以下是XML: <EditText android:layout_width="100dp" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_alignBottom="@+id/textVi
<EditText
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_alignBottom="@+id/textView4"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/textView4"
android:layout_toEndOf="@+id/textView4"
android:imeOptions="actionDone"
android:inputType="text"
/>
问题是我的onKey
甚至没有显示任何祝酒词,当用户单击“完成”时,我无法获得用户输入。我尝试过在if语句中更改很多内容,但现在连onKey
都没有被调用。我做错了什么
感谢您抽出时间回答我的问题:)您的代码不起作用的原因已在中得到回答 无需按下软输入法上的键即可触发 方法,实际上不鼓励这样做。这个 默认的android键盘不会为任何键触发这些 应用程序以Jelly Bean或更高版本为目标,并且只提供它 针对针对冰淇淋三明治或三明治的应用程序的一些按键 早些时候 如果您试图在用户单击“完成”时获取用户输入,您可以尝试以下操作
e.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
Toast.makeText(MainActivity.this, e.getText(), Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});
非常感谢,你解决了我的问题,我被困了几个小时。那么onKeyListener应该用于什么呢?同样,在文档
中,它应该只用于应用程序有自己的屏幕键盘,并且希望处理与之匹配的硬键盘事件的情况。所以我猜当你制作一个自定义键盘时,也许这可以用来匹配键盘事件。如果我想在他们单击“完成”后隐藏键盘,我可以返回false,对吗?
e.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
Toast.makeText(MainActivity.this, e.getText(), Toast.LENGTH_SHORT).show();
return true;
}
return false;
}
});