我正在尝试创建一个简单的 editText,我为其定义了一个简单的 onclick 操作,该操作再次将名称输出到窗口。我的问题是,似乎只有在我再次重新聚焦编辑文本时才调用此操作。所以我专注于编辑文本,输入我的名字并按回车键。现在窗口关闭,但名称不会放在窗口中。当我再次聚焦编辑文本时,名称被放入窗口。
当我在没有在XML中设置android:imeOptions="actionDone"的情况下做完全相同的操作时,一切正常(除了键盘不关闭,当然不会关闭(
我的编辑XML文本:
<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();
}
不完全确定您的整个活动是什么样的,但我相信如果您删除readName()
方法之外的绑定,它应该可以正常工作。
将下面的代码放入您的onCreate()
中。
EditText nameEditText = (EditText) findViewById(R.id.name_edit_text);
onCreate()
方法中放入以下内容,而不是使用 android:onClick
:
EditText nameEditText = (EditText) findViewById(R.id.name_edit_text);
nameEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
readName(v)
}
}