我有一个edittext和一个微调器。当我触摸编辑文本键盘出现时,在完成文本编辑后,我触摸微调器的下拉箭头但键盘不会自动消失。请给我一些解决方案。 我试过这段代码
InputMethodManager imm=(InputMethodManager)getApplicationContext().getSystemService(SetUpProfileActivity.this.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mDateOfBirth.getWindowToken(), 0);
这是xml
<LinearLayout
android:id="@+id/outerlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp"
>
<TextView
android:id="@+id/name_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/profile_name"
android:textColor="#ffffff" />
<EditText
android:id="@+id/profile_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/txtbox"
android:singleLine="true" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/dateofbirth"
android:textColor="#ffffff" />
<Spinner
android:id="@+id/dob"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/dropdown" />
答案 0 :(得分:39)
试试这段代码,我希望它对您有用。
mSpinner.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
InputMethodManager imm=(InputMethodManager)getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
return false;
}
}) ;
答案 1 :(得分:1)
如果您在活动中使用Spinner和EditText,那么这是您肯定会感觉到的问题,
在微调器和内部调用onTouchListener,获取edittext的引用并隐藏软键盘。
PySomeClass
答案 2 :(得分:0)
试试这个:
// hide the keyboard if open
inputManager.hideSoftInputFromWindow(getParent().getCurrentFocus()
.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);