添加一个新的 CheckBox 和一个 editText 视图,当用户在 android 的键盘上点击 Done 时?
Posted
技术标签:
【中文标题】添加一个新的 CheckBox 和一个 editText 视图,当用户在 android 的键盘上点击 Done 时?【英文标题】:Adding a new CheckBox and a editText views, when the user taps the Done on the keypad in android? 【发布时间】:2021-11-13 08:56:23 【问题描述】:我是安卓开发新手, 我想要实现的是,
当用户通过屏幕键盘(软输入法)点击完成按钮时,现有的默认editText应该变成一个checkBox并再次创建一个editText以便用户可以输入再次获取一些数据。 这些我可以通过创建一个按钮并按下它来做到这一点,但我不想要一个按钮,我想要屏幕上的键盘交互,例如完成按钮。
首先,我用 onKeyListener 进行了尝试,但它在软键盘(手机)上不起作用,而是在笔记本电脑键盘等硬件键盘上起作用。
然后我也可以通过屏幕键盘使用 onEditerActionListener() 执行上述功能,但只有一次我可以执行此操作,然后才能执行此操作 strong>,DONE 按钮从屏幕键盘上消失,ENTER 按钮取代 DONE 按钮
当我第一次尝试在 editText 中输入一些数据时,DONE 按钮可用,并且在 ENTER BUTTON 替换它之后。
1) 有什么方法可以阻止 ENTER 按钮替换 on_Screen 键盘上的 DONE 按钮? 2) 或者有没有办法也给回车键提供功能?
XML 代码,
<EditText
android:id="@+id/defaultEditText"
android:layout_
android:layout_
android:layout_marginStart="32dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="32dp"
android:inputType="text"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
安卓代码,
this.constraintLayout = findViewById(R.id.constraintLayout);
this.defaultEditText = findViewById(R.id.defaultEditText);
defaultEditText.setOnEditorActionListener( new TextView.OnEditorActionListener()
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
if (actionId == EditorInfo.IME_ACTION_DONE)
//CREATING A CHECKBOX
//CREATIN A EDITTEXT
return true;
return false;
);
输出,
【问题讨论】:
【参考方案1】:您可以使用maxLines=1
和imeOptions="actionDone"
表示您不想想要enter
换行而您是done
。这将始终提供您预期的输出。
所以你的EdiText
看起来像这样:
<EditText
android:id="@+id/defaultEditText"
android:layout_
android:layout_
android:layout_marginStart="32dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="32dp"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLines="1"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
【讨论】:
但是下一次,它没有提供点击完成的选项。 @mockingbird 我尝试在多个设备上对此进行测试,并且成功了。那么,您能否为您所说的“下一次”提供一些代码。你是如何实现的?以上是关于添加一个新的 CheckBox 和一个 editText 视图,当用户在 android 的键盘上点击 Done 时?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 TextField 和 CheckBox 添加到同一个 AlertView