我有一个Activity,它有一个EditText和一个ListView。 EditText可用于过滤listview行。
问题是当Activity加载时,键盘默认弹出。我希望键盘只有在用户实际按下文本框而不是默认情况下才会出现。
Public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.filterablelayout);
filterText = (EditText) findViewById(R.id.search_box);
filterText.addTextChangedListener(filterTextWatcher);
filterText.setVisibility(View.INVISIBLE);
GetCategories();
}
我的布局xml如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/selectcat" />
<EditText
android:id="@+id/search_box"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/categorytxthint"
android:inputType="text"
android:maxLines="1" />
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1" />
</LinearLayout>
答案 0 :(得分:0)
我自己遇到过这个问题,真的很烦人。您需要告诉系统隐藏软键盘。 Android文档说这是“用于hideSoftInputFromWindow(IBinder,int)的标志”,表示只有在用户没有明确显示软输入窗口时才应该隐藏它。“
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
答案 1 :(得分:0)
在清单中,为您的活动添加以下内容:
android:windowSoftInputMode="stateHidden"