首页 > 解决方案 > 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);

            }

标签: javaandroidandroid-edittextandroid-input-filter

解决方案


您可以maxLength在 xml 中的 editText 中设置:

android:maxLength="30"

或设置过滤器:

TextView edit= new TextView(...);
InputFilter[] filterArray = new InputFilter[1];
filterArray[0] = new InputFilter.LengthFilter(30);
edit.setFilters(filterArray);

推荐阅读