以编程方式隐藏/显示Android软键盘
首先,我已经看到了这个帖子。我试过那里接受的方法..但没有什么对我有用..
我的应用程序中有两个屏幕。第一个有2个EditText - 一个用于用户名,一个用于密码
第二个有一个ListView和一个EditText - 来过滤listView
在我的第一个屏幕中,我希望用户名EditText专注于启动,键盘应该是可见的 ..这是我的实现(通过删除不必要/不相关的代码简化)..
app_login.xml
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dip"
android:paddingRight="20dip">
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:hint="Username"
android:imeOptions="actionDone" android:inputType="text"
android:maxLines="1"/>
android:password="true"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Password" />
AppLogin.javaclass AppLogin extends Activity{
private EditText mUserNameEdit = null;
private EditText mPasswordEdit = null;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.app_login);
mUserNameEdit = (EditText) findViewById(R.id.username);
mPasswordEdit = (EditText) findViewById(R.id.password);
/* code to show keyboard on startup.this code is not working.*/
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mUserNameEdit, InputMethodManager.SHOW_IMPLICIT);
}//End of onCreate()}
好吧,键盘在启动时没有显示。我的设计非常需要键盘。
现在到第二页 .. 我已经说过我有一个listView和EditText那里.. 我希望我的键盘在启动时隐藏,只有在用户触摸editText时出现 ..你能相信吗?无论我尝试什么软键盘在我加载活动时显示 ..我无法隐藏它。
简化在登录页面(第一页)我希望我的键盘在启动时可见。
在SecondPage上我希望首先隐藏键盘,仅在用户触摸editText时显示
而且我的问题是我在两种情况下正好相反 ...希望有人在此之前遇到过这个问题。我正在模拟器和HTC Desire手机上进行测试。