我想阻止键盘在我的Android应用程序中弹出。我希望添加此代码
public void hideSoftKeyboard() {
if (getCurrentFocus() != null) {
InputMethodManager inputMethodManager = (InputMethodManager)
getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
0);
}
}
但是我不确定要在MainActivity.java
文件中插入
public class MainActivity extends AppCompatActivity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.MyButton);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent myIntent = new Intent(MainActivity.this,
Main2Activity.class);
startActivity(myIntent);
}
});
}
}
答案 0 :(得分:0)
为避免弹出键盘,请将其添加到您的onCreate()
方法中:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
答案 1 :(得分:0)
如果要在用户打开MainActivity
时关闭键盘,则应在onStart
方法中使用此代码。
@Override
protected void onStart() {
super.onStart();
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)
}
在某些情况下,为了防止MainActivity
从后台变到前景时弹出键盘,那么您应该在onStop
方法中使用您的方法。
@Override
protected void onStop() {
super.onStop();
hideSoftKeyboard();
}
答案 2 :(得分:0)
如果您不希望活动集中时显示键盘,则可以在清单中添加属性:
<activity android:windowSoftInputMode="stateAlwaysHidden" . . . >
这可操纵活动的主窗口与包含屏幕软键盘的窗口如何交互。当活动成为用户关注的焦点时,此属性的设置会影响软键盘的状态(无论是隐藏的还是可见的)。 您可以根据需要使用以下属性之一:
如果要以编程方式进行操作,则可以在onCreate中使用您的方法