2014-10-18 168 views
4

这是我的第一个应用程序,当我按下后退按钮并且软件键盘消失时,我试图找到一种方法从编辑框中删除光标。我试图检查后退按钮是否被按下,但只有在键盘打开的情况下按下后退按钮两次,此功能才有效。当隐藏软键盘时隐藏光标来自editText

下面是我的代码与EDITTEXT与后退按钮检查样本:

public class MainActivity extends Activity implements OnItemSelectedListener, OnGlobalLayoutListener 
{ 
    boolean flag; 
    double vc, vs, t, r, c; 
    EditText resistor_E_T; 

@Override 
public void onBackPressed() 
{ 
    resistor_E_T.setCursorVisible(false); 
} 


@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    resistor_E_T = (EditText) findViewById(R.id.resistor_Edit_Text); 
    resistor_E_T.addTextChangedListener(new TextWatcher() 
    { 
     public void afterTextChanged(Editable s) 
     { 
      resistor_E_T.setCursorVisible(true); 
      if (Exceptions.isDouble(resistor_E_T.getText().toString())) 
      { 
       r = Double.parseDouble(resistor_E_T.getText().toString()); 
      } 
     } 

     public void beforeTextChanged(CharSequence s, int start, int count, int after) { } 

     public void onTextChanged(CharSequence s, int start, int before, int count) { } 
    }); 

另外,我发现在互联网上的计算器是检查键盘通过像素高达杂项代码,但我无法创建任何代码。有没有人有一个想法,我怎么能做到这一点,或者这是不可能的。

现在会发生什么: http://i.stack.imgur.com/6alGK.png

当软键盘消失光标仍然闪烁: http://i.stack.imgur.com/wpbkl.png

+0

曾经发现了一个解决方案? – 2016-09-01 01:39:00

回答

0

使用这一个: -

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

,或者您可以使用此在你的xml中:

android:windowSoftInputMode="stateHidden" 

请让我还是知道,如果它的工作原理不是:)

+0

我把标签上的android:windowSoftInputMode =“stateHidden”放在xml中,没有任何变化。我把它放在标签上,但没有再次。最后,我插入这段代码“getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);”在MainActivity类的编辑文本中,但没有解决问题,并且它禁用了后退按钮的功能(如果软键盘处于关闭状态),您可以将应用程序移动到后台。 – 2014-10-18 15:45:26

+0

把android:windowSoftInputMode =“stateHidden”放在xml父布局上,而不是编辑文本...... – 2014-10-20 04:08:30

+0

或者把这段代码放在创建方法上..“getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS _HIDDEN); “ – 2014-10-20 04:09:48