【发布时间】:2016-03-01 16:19:26
【问题描述】:
我需要软键盘始终开启。 这条线似乎在启动时做的事情,但是在我按下回车键并检查一个值之后,它仍然隐藏自己。 方法调用后我尝试再次放置,但没有帮助。
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
短版结构:
//imports
public class MainActivity extends AppCompatActivity implements TextWatcher{
//global variables
//stats
public void stats() {
//loading stats
}
@Override
protected void onCreate(Bundle savedInstanceState) {
//on create stuff
//never hide keyboard
**getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);**
//detecting enter
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
// Enter has been pressed
takeTheGuess(v);
break;
}
return false;
}
});
}
@Override
protected void onStart() {
super.onStart();
stats();
}
public void takeTheGuess(View view) {
//loading stats
stats();
//fixing blank field
//checking for errors
losowanie();
stats();
}
public void losowanie() {
Random rand = new Random();
myNumber = rand.nextInt((100 - 0) + 1);
}
public void informacje(MenuItem item) {
//app info
}
@Override
public void afterTextChanged(Editable s) {
//safe type
//no numbers bigger than 100
}
【问题讨论】:
-
为什么需要永远显示键盘?使用它的用户会讨厌你。我认为是概念问题,而不是编程问题。也许不可能永远显示一个键盘,而不能在用户需要时隐藏它。
-
好吧,我只是在测试……我希望应用程序的这一部分始终打开键盘,因为用户会重复输入值。
-
尽量将焦点放在输入中以避免隐藏键盘,这是我知道的唯一方法(也许有人可以帮助你),但我认为这是操作系统的一项安全功能
标签: java android keyboard show-hide android-softkeyboard