首页 > 解决方案 > EditText onclick 动作仅在重新聚焦 EditText 时执行

问题描述

我正在尝试创建一个简单的 editText,我为它定义了一个简单的 onclick 操作,该操作再次将名称输出到窗口。我的问题是,似乎只有当我再次重新调整 editText 时才会调用此操作。所以我关注editText,输入我的名字并按Enter。现在窗口关闭,但名称没有放在窗口中。当我再次关注 editText 时,名称会被放到窗口中。

当我在没有在 XML 中设置 android:imeOptions="actionDone" 的情况下做同样的事情时,一切正常(除了键盘没有关闭,当然也没有关闭)

我来自 XML 的 editText:

<EditText
            android:id="@+id/name_edit_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="16dp"
            android:hint="Name"
            android:imeOptions="actionDone"
            android:inputType="text"
            android:onClick="readName" />

我的 readName() 方法:

public void readName(View view) {
        EditText nameEditText = (EditText) findViewById(R.id.name_edit_text);
        String nameWorking = nameEditText.getText().toString();
        name = nameWorking;
        displayOrderSummary();
    }

标签: androidandroid-edittextimeoptions

解决方案


不完全确定您的整个活动是什么样的,但我相信如果您在readName()方法之外删除绑定,它应该可以正常工作。

将下面的代码放入您的onCreate().

EditText nameEditText = (EditText) findViewById(R.id.name_edit_text);


推荐阅读