java - set input range from 1-30
问题描述
i m getting an input using an EditText from the user but i don't want input more than 30 that is his input should be from 1-30 range, how should i do it??
final EditText personcount = findViewById(R.id.personcount);
final TextView personcountview = findViewById(R.id.personcountview);
final TextView itemcountview = findViewById(R.id.itemcountview);
final EditText itemcount = findViewById(R.id.itemcount);
personcount.setFilters(new InputFilter[]{new InputFilter.LengthFilter(1)});
itemcount.setFilters(new InputFilter[]{new InputFilter.LengthFilter(1)});
Toast.makeText(this, "EditText limit set to a single digit", Toast.LENGTH_SHORT).show();
Button next1 = findViewById(R.id.next1);
next1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int num1= Integer.parseInt(personcount.getText().toString());
int num2 = Integer.parseInt(itemcount.getText().toString());
Intent personname = new Intent(getApplicationContext(), personname.class);
personname.putExtra("num", num1);
personname.putExtra("num2",num2);
startActivity(personname);
}
解决方案
您可以maxLength
在 xml 中的 editText 中设置:
android:maxLength="30"
或设置过滤器:
TextView edit= new TextView(...);
InputFilter[] filterArray = new InputFilter[1];
filterArray[0] = new InputFilter.LengthFilter(30);
edit.setFilters(filterArray);
推荐阅读
- vb.net - 在所述循环内更改循环的结束整数
- python - 调用 Endpoint.utilAddPendingJob(job) 时遇到问题
- java - 使用 faker.js 添加更多数据会生成 liquibase 错误
- python - 如何从 .txt 大文件中的数据框中获取 csv 文件
- visual-studio - Visual Studio 2019 中的慢速自动完成
- vue.js - How to populate form from store state data returned from vuex with getters?
- tomcat - Tomcat 部署脚本返回 405
- r - 如何在 R 循环中不将 POSIXct 转换为数字
- git - 为什么“git diff”将文件与 /dev/null 进行比较?
- python - 如何使用带有烧瓶的for循环显示json数据