我正在尝试使用包含Autocompletetextview的片段构建android应用程序 ,我想在显示片段时显示键盘。 我尝试了很少但却没有成功。
这是我的代码
XML
<AutoCompleteTextView
android:id="@+id/editArea"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:singleLine="true"
android:textColor="@android:color/primary_text_light"
android:gravity="right" >
</AutoCompleteTextView>
我的Java片段
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mLayout = inflater.inflate(R.layout.change_area, null, false);
area = (AutoCompleteTextView) mLayout.findViewById(R.id.editArea);
showHideKeyboard(true);
citiesList = singleToneCitiesList.getInstance().getList();
mAdapter = new CitiesAdapter(getActivity(),
R.layout.autocommplete_text, citiesList);
area.setAdapter(mAdapter);
area.setThreshold(1);
area.setOnItemClickListener(this);
return mLayout;
}
private void showHideKeyboard(boolean showHide) {
if (showHide) {
InputMethodManager inputMethodManager = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
area.requestLayout();
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInputFromWindow(getActivity()
.getCurrentFocus().getApplicationWindowToken(),
InputMethodManager.SHOW_FORCED, 0);
}
} else {
InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(area.getWindowToken(), 0);
}
}
感谢您阅读并帮助我, 祝你今天愉快!
答案 0 :(得分:2)
在xml代码中使用它:
<AutoCompleteTextView
android:id="@+id/editArea"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="right"
android:singleLine="true"
android:textColor="@android:color/primary_text_light" >
<requestFocus />
</AutoCompleteTextView>
并在清单中的活动中添加以下内容:
android:windowSoftInputMode="stateAlwaysVisible"
答案 1 :(得分:1)
你需要像这样请求焦点
AutoCompleteTextView yourView = findViewById(R.id.your_id);
yourView.requestFocus();
答案 2 :(得分:1)
通过代码编辑requestFocus();
AutoCompleteTextView
,
autocomplete.requestFocus();
或者你也可以在xml中设置。