在模拟器上测试android项目时,键盘似乎工作正常。但是,当我在我的三星手机上测试时键盘工作不正常。一个问题是,当我的第一个显示器出现时,键盘会自动出现,尽管它不在模拟器中。其次,如果我输入内容并按回车键或输入键,键盘就不会在手机上消失。解雇键盘需要单独的步骤吗?第三,有时当我按下回车键时,它会使光标转到新行,而不是提交数据。同样,这也不是模拟器的问题。那么我需要做些什么才能使键盘在我的手机设备上正常工作?
以下是我使用autocompleteText视图接收和提交数据的代码。
autoComplete = (AutoCompleteTextView) findViewById(R.id.suggest);
autoComplete.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable editable) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
String newText = s.toString();
int len = newText.length();
// Toast.makeText(getApplicationContext(), "Text changed count = " + String.valueOf(len), Toast.LENGTH_LONG).show();
if(len > 1)
new getData().execute(newText);
}
});
有时当我按下回车键时,它会转到另一行,而不是执行我的异步任务。
答案 0 :(得分:0)
您需要强制打开和关闭 软键盘以满足您的要求。
打开 软键盘:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(your_edit_text, InputMethodManager.SHOW_FORCED);
关闭 软键盘:
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(your_edit_text.getWindowToken(), 0);
要正确使用完成(回车)键,您应将以下属性添加到 .XML 中的编辑文字文件。
android:singleLine="true"
android:imeOptions="actionDone"