2016-08-31 220 views
2

表现出来,我创建,通过条形码阅读器在的EditText写一个程序,所以我不希望显示的键盘立刻即使我专注于它,我不把它想以是可见的,我需要按一个按钮来显示键盘有时只是编辑。 和感谢隐藏键盘和按钮

+0

我会建议禁用的EditText当你不希望它是可编辑的,如果该按钮被按下(也许更好的复选框),然后启用edittext。这样用户就会知道文本是可编辑的。你怎么看? – Blehi

+0

关于显示/隐藏键盘,你可以检查这个线程:http://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard – Blehi

+0

idk听起来不错,但如果我禁用它可以条形码阅读器写在上面?我不这么认为...... –

回答

0

我会从一开始就禁用的EditText按钮:

editText.setEnabled(false); 

并回答你的问题,是的。即使它被禁用,您也可以更改文字。仅禁用意味着用户不能更改它。您可以编程编辑它。

然后,当按下按钮:按下按钮时

button.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     editText.setEnabled(true); 
     editText.requestFocus(); 
    } 
}); 

这应该自动显示键盘。

奖励: 如果您希望禁用EditText一旦完成编辑后,你可以这样做:

editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     if(!hasFocus) { 
      editText.setEnabled(false); 
     } 
    } 
});