我想要一个只有可见数字的键盘到EditText视图.没有任何其他角色.
我已经测试了所有可用的输入并且不起作用.我已经搜索了一种只使用数字键盘的方法,但我只看到过引用:
android: inputType = "numberPassword"
Run Code Online (Sandbox Code Playgroud)
但我想在EditText中看到可见的数字.有人可以帮帮我吗?
我想要一个这样的键盘:(numberPassword)

我尝试过:
android:digits="0123456789"
android:inputType="phone"
Run Code Online (Sandbox Code Playgroud)
和
android:inputType="number"
Run Code Online (Sandbox Code Playgroud)
看起来像那样:

我有一个需要无符号十进制输入的EditText.
如果我使用:
setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
setKeyListener(NumericDigitsKeyListener.getInstance(false, true));
Run Code Online (Sandbox Code Playgroud)
然后它在美国运行良好,但我的欧洲客户不能使用它,因为它似乎不允许使用逗号作为小数点.
另一方面,如果我使用:
setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
setKeyListener(DigitsKeyListener.getInstance("01234567890.,"));
Run Code Online (Sandbox Code Playgroud)
然后它在美国和欧洲运行良好,但在某些设备(如Galaxy S3)上出现的软键盘是严格的数字(没有逗号或句号).
如何强制使用数字键盘来访问适合语言环境的小数分隔符?
谢谢
如何只设置整数EditText?(我想避免用户输入逗号)
我需要维护一个EditText可以由用户号码输入的内容,在某些情况下我需要将文本设置为EditText12 $.所以我需要能够setText()做任何我想要的事情.
我已经尝试设置一个EditText,输入类型设置为number,产生数字小键盘,同时删除InputFilterEditText的那个 - 这仍然不允许我放置非数字字符
input.setFilters(new InputFilter[] {});
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?有没有不同的方法来实现我的目标,一个带有数字小键盘的EditText,我可以编程方式插入一些非数字字符?
您好我是android中的新手我试图从EditText获取整数值,但是当我将字符串解析为Integer时,我得到了NumberFormatException.请帮我解决这个错误.提前致谢.
计划是:
int day,month,year;
EditText expense,ammount;
String[] exp=new String[10];
int[] amt=new int[10];
int count=0;
/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Calendar cal=Calendar.getInstance();
day=cal.get(Calendar.DAY_OF_MONTH);
month=cal.get(Calendar.MONTH)+1;
year=cal.get(Calendar.YEAR);
final TextView txtdate=(TextView)findViewById(R.id.txtdate);
expense=(EditText)findViewById(R.id.exp);
ammount=(EditText)findViewById(R.id.amnt);
final Button add=(Button)findViewById(R.id.btnadd);
final Button cancel=(Button)findViewById(R.id.btncancel);
final Button done=(Button)findViewById(R.id.btndone);
txtdate.setText(day+"/"+month+"/"+year);
add.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
getval();
}
});
cancel.setOnClickListener(new OnClickListener() {
public void onClick(final View v) {
clean();
}
});
done.setOnClickListener(new OnClickListener() { …Run Code Online (Sandbox Code Playgroud) 我想使用带有类型编号的 editText。
如果你使用它,它不起作用:
Number editText = (Number) v.findViewById(R.id.editText);
Run Code Online (Sandbox Code Playgroud)
错误是在
Number editText = (Number) v.findViewById(R.id.editText) ;
它说:
不可转换的类型;无法投射
android.view.View到java.lang.Number
解决方案很简单(感谢@Ehsan 提供有用的答案):
Edittext editText = (Edittext) v.findViewById(R.id.editText);