我有一个带有EditText和按钮的活动。当用户单击EditText时,会显示键盘,他可以输入一些Text-很好。但是当用户单击按钮时,我希望EditText不再对焦,即键盘隐藏,直到用户再次单击EditText。
单击按钮后,如何“隐藏EditText的焦点”。我可以在按钮的OnClick方法中添加一些代码来实现这一点?
编辑:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/edt_SearchDest"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:textSize="18sp"
android:hint="Enter your look-up here.." />
<Button
android:id="@+id/btn_SearchDest"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.2"
android:text="Search" />
</LinearLayout>
顺致敬意,
我已成功地在onClick按钮代码中使用了以下内容:
editText.setEnabled(false);
editText.setEnabled(true);
比其他方法稍微简单一些。。。
一种解决方法是创建一个假视图以将焦点转移到您在edittext
中的clearFocus
时:
<EditText
android:id="@+id/edt_thief"
android:layout_width="0dp"
android:layout_height="0dp"
android:focusable="true"
android:focusableInTouchMode="true"
请注意,此视图不可见,因此它不需要布局中的任何空间。
在control类中,可以添加如下方法来触发此焦点转移:
public void clearFocus(){
yourEdittext.clearFocus();
edtThief.requestFocus();
}
然后,一旦edtThief
具有焦点,您就可以最小化键盘:
public static void hideKeyboard(final View view) {
InputMethodManager imm = (InputMethodManager) view.getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
将此内容放入按钮侦听器:
InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
编辑
如果没有关注编辑文本,上述解决方案将破坏你的应用程序。按如下方式修改代码:
将此方法添加到类:
public static void hideSoftKeyboard (Activity activity, View view)
{
InputMethodManager imm = (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getApplicationWindowToken(), 0);
}
然后,在您的按钮侦听器中,像这样调用该方法:
hideSoftKeyboard(MainActivity.this, v); // MainActivity is the name of the class and v is the View parameter used in the button listener method onClick.
我正在制作看板,我有一列在里面,它用一个网格窗格划分在标题和下面的卡片列表之间。我正在使用场景生成器构建此场景。 所以层次结构是 当我按下卡上的按钮时,我希望它移除我单击的卡。 我已经做了以下工作 然而,当我按下按钮时什么也没有发生,卡没有被删除,我也不知道为什么。如果有人能帮我,那就太好了。
我有两个JFrame表单,它们接受诸如姓名、Rollno、注册号、性别等信息,姓名和性别在第一个JFrame表单上,而其他详细信息在第二个JFrame表单上,在单击“下一个表单”按钮后,所有信息都存储在MySql数据库中,相同的按钮将用户带到下一个表单,如果用户在第一个表单中填写所有详细信息,然后单击表单的“下一个表单”按钮并退出第二个表单,那么只有一半数据库有详细信息,而另一半没有信息。所以,请
我下面有一个图片,它是一个按钮。 我似乎找不到:焦点或:点击的css在Chrome beggger。 下面是html
element-ui按钮点击后不失焦
我一直在尝试使用selenium完成输入框,但在单击添加新客户按钮后总是找不到该输入框,它总是显示一个空白的白页。我通过chrome和fire fox@Test public val AddTouch()抛出中断异常{
我就是不能点击按钮进入下一页。目前为止我尝试了以下方法 编辑 关键是重新定位元素,重新加载。由于我在表单中单击,底层代码发生了变化。司机。通过xpath(//button[@type='submit'][@name='button'])查找元素。因此,click()无法找到元素。重新加载驱动程序后。get(“%s/%s:%s”%(str(sys.argv[4])、str(sys.argv[2])、