下午好。
我有一个可能包含数字和字母的EditText。通过部署键盘,有没有办法以数字形式部署它?。
如果我把EditText作为数字我做,但那不是我的情况。
非常感谢。
答案 0 :(得分:6)
试试这个:
EditText myEditText = (EditText)findViewById(R.id.myEditText);
myEditText.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
完成数字后,将其设置回字母数字..
答案 1 :(得分:1)
你可以:
你不能:
答案 2 :(得分:1)
使用XML:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/edittext"
android:inputType="number"/>
或
使用代码:
EditText editText=new EditText(this);
editText.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
答案 3 :(得分:0)
在你的oncreate方法中你可以放置这个代码块:
final EditText myEditJava = (EditText) findViewById(R.id.myEdit);
myEditJava.addTextChangedListener(new TextWatcher() {
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void afterTextChanged(Editable s) {}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().matches("((-|\\+)?[0-9]+(\\.[0-9]+)?)+"))
myEditJava.setInputType(InputType.TYPE_CLASS_PHONE);
else
myEditJava.setInputType(InputType.TYPE_CLASS_TEXT);
}
});
因此,当您放置第一个字符时,如果它将是数字值,则keyborad将显示在数字输入模式上,否则显示在文本输入模式上。