我是Android的新手。当我单击键盘时,我有一个编辑文本,它会自动显示。但是我想做的是当用户双击编辑文本时应该显示键盘。我怎样才能实现它?
<Edit Text
android:id="@+id/TV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="type something"/>
在这里,我采用简单的编辑文本。我采用一个手势侦听器类来实现双击侦听器事件。
找到下面的代码,它将检查编辑文本是否打开。如果它被打开,它将关闭它
yourEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
yourEditText= this.getCurrentFocus();
if (yourEditText!= null) {
InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isAcceptingText()) {
imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);
}
}
}
});
为什么不使用OnLongClickListener
来实现你想要的呢?
yourEditText .setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//show your keyboard
return false;
}
});
单击编辑文本时隐藏软键盘
yourEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null) {
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
}
});
这里也请阅读这篇文章 Android:如何检测双击? 可能会帮助您了解