Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我不能写文本?_Java_Android_Xml_String_Algorithm - Fatal编程技术网

Java 为什么我不能写文本?

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中的文本:

以下是XML:

   <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;
    }
});