0

我目前正在开发一个计算器应用程序,我在其中制作了一个自定义键盘并想隐藏虚拟键盘。我找到了可以隐藏它的解决方案,但光标也被隐藏了。我想要的功能与 com.android.calculator2 应用程序相同。我已经查看了它的源代码,但我仍然无法让它工作。

4

1 回答 1

1

我认为你弄错了。有一个更简单的解决方案(也是一个更明显的解决方案)。

  1. 使 EditText 不可编辑。
  2. 绑定到代码中的 EditText (findViewById)
  3. 在您的按钮中,获取文本并添加到当前字符串,然后显示它。

例如。

假设您按下了“1”按钮。

在您的 中one.setOnclickListener(),执行以下操作:

String S=EditText.getText()+"1"; 
EditText.setText(s);

编辑:

如果您只想在保持光标的同时隐藏键盘,请尝试以下代码:

EditText editText = (EditText)findViewById(R.id.edit_text);
editText.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        v.onTouchEvent(event);
        InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm != null) {
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
        }                
        return true;
    }
});
于 2014-07-08T16:25:42.987 回答