如何限制商标?

时间:2017-11-28 13:17:25

标签: android

我正在为每个EditText字段中的标记做关键。每个标记不得超过5个标记。我只是不知道如何限制用户键在标记的位置更多我将吐司必须超过5分。以下是我的布局: enter image description here

这是我的java代码:

public void onClick(View v) {
        switch (v.getId()){
            case R.id.bContinuous_assess:
                String marks1=marks_1.getText().toString();
                String marks2=marks_2.getText().toString();
                String mark3=marks_3.getText().toString();

                num1=Double.parseDouble(marks_1.getText().toString());
                num2=Double.parseDouble(marks_2.getText().toString());
                num3=Double.parseDouble(marks_3.getText().toString());
                sum=num1+num2+num3;
                marks_total.setText(Double.toString(sum));

                if(marks1.matches("")||marks2.matches("")||mark3.matches("")){
                    progressDialog=new ProgressDialog(continuous_assessment.this);
                    progressDialog.setMessage("Submitting marks...");
                    progressDialog.setIndeterminate(false);
                    progressDialog.setCancelable(true);
                    progressDialog.show();
                    Toast.makeText(this, "Please Enter All Attributes.", Toast.LENGTH_SHORT).show();
                }else {
                    new AlertDialog.Builder(this).setTitle("eSystem").setMessage("Confirm marks?")
                            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    new Marks().execute();

                                }
                            }).setNegativeButton("No",null).show();
                    break;
                }
        }

我相信它是在onClick下完成的。升值。

2 个答案:

答案 0 :(得分:1)

case R.id.bContinuous_assess:
                String marks1=marks_1.getText().toString();
                String marks2=marks_2.getText().toString();
                String mark3=marks_3.getText().toString();
                if (marks1!=null && marks2!=null &&mark3!=null) {
                num1=Double.parseDouble(marks_1.getText().toString());
                num2=Double.parseDouble(marks_2.getText().toString());
                num3=Double.parseDouble(marks_3.getText().toString());
                if (num1>5 || num2>5 || num3>5) {
                Toast.makeText(this, "Please Enter Marks Upto 5", Toast.LENGTH_SHORT).show();
                }   else{
                sum=num1+num2+num3;
                marks_total.setText(Double.toString(sum));
                 new AlertDialog.Builder(this).setTitle("eSystem").setMessage("Confirm marks?")
                            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    new Marks().execute();

                                }
                            }).setNegativeButton("No",null).show();

                }

                }   else{
                    Toast.makeText(this, "Please Enter All Attributes!", Toast.LENGTH_SHORT).show();

                }
                break;

答案 1 :(得分:0)

您可以将TextWatcher用于editText,不需要等待点击事件

首先在xml中为editText设置android:inputType="number"

android:digits="0123456789"

而不是

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged (CharSequence s,int start, int count, int after){

    }

    @Override
    public void onTextChanged (CharSequence s,int start, int before, int count){
        String strEnteredVal = edittext.getText().toString();
        if (!strEnteredVal.equals("")) {
            int num = Integer.parseInt(strEnteredVal);
            if (num <= 5) {
                edittext.setText("" + num);
            } else {
                Toast.makeText(this, "Please Enter All Attributes!",
                        Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void afterTextChanged (Editable s){

        }
    });