[英]strange: android EditText cannot show softkeyboard(it quickly hide)
我有一个普通的EditText视图,单击该视图后会显示软键盘,但奇怪的问题是它的隐藏速度很快。 布局代码:仅此而已
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/pick_school_bitmap_bg"
>
<LinearLayout
android:id="@+id/customer_action_bar"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/bg_action_bar_repeat"
android:orientation="horizontal"
>
<Button
android:id="@+id/home"
android:layout_width="48dp"
android:layout_height="match_parent"
android:background="@drawable/pick_school_item_background"
android:drawableLeft="@drawable/home_as_up_indicator"
android:drawableRight="@drawable/pick_school_ic_menu_search"
android:orientation="horizontal"
android:paddingLeft="8dp"
android:paddingRight="8dp" />
<EditText
android:id="@+id/input_search_school"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/pick_school_textfield_activated"
android:hint="@string/pick_school_search_hint"
android:imeOptions="actionSearch"
android:inputType="text"
android:singleLine="true"
android:textColor="@color/white"
android:textColorHint="@color/white"
/>
</LinearLayout>
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/customer_action_bar"
layout="@layout/pick_school_search_view" />
</RelativeLayout>
太奇怪了,软键盘显示并迅速消失:日志信息是:
09-16 17:55:08.472:D / InputMethodManager(31721):onInputShownChanged:true
09-16 17:55:08.527:D / InputMethodManager(31721):onInputShownChanged:false
09-16 17:55:09.282:D / InputMethodManager(31721):onInputShownChanged:true
09-16 17:55:09.322:D / InputMethodManager(31721):onInputShownChanged:false
09-16 17:55:09.522:D / InputMethodManager(31721):onInputShownChanged:true
显示软键盘。 可以请您尝试一下。
InputMethodManager inputManager = (InputMethodManager)
Context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
您可以手动添加onEditTextFocusable()的另一件事来强制键盘可见。
尝试在清单文件中添加此行
android:windowSoftInputMode="stateAlwaysHidden|adjustResize|adjustPan"
将焦点设置为edittext,以便弹出键盘
<EditText
android:id="@+id/idEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:inputType="textCapCharacters"
android:paddingLeft="20dp"
android:textSize="24sp" >
<requestFocus />
</EditText>
尝试用Java代码
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(edittext, 0);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.