Pyae Phyo
Pyae Phyo

Reputation: 127

android number dialog problems

I can use number (0,1,2,3,..,9) & clear, delete. But I can't use decimal. And then, when I delete, I don't want to delete all .setText (" "), I want to delete one by one when user use 4 number (1234).

    edt_cargo_info_money_amount = (EditText) contentView.findViewById(R.id.edt_cargo_info_money_amount);
    Button[] numbers = new Button[11];
    numbers[0] = (Button) contentView.findViewById(R.id.one);
    numbers[1] = (Button) contentView.findViewById(R.id.two);
    numbers[2] = (Button) contentView.findViewById(R.id.three);
    numbers[3] = (Button) contentView.findViewById(R.id.four);
    numbers[4] = (Button) contentView.findViewById(R.id.five);
    numbers[5] = (Button) contentView.findViewById(R.id.six);
    numbers[6] = (Button) contentView.findViewById(R.id.seven);
    numbers[7] = (Button) contentView.findViewById(R.id.eight);
    numbers[8] = (Button) contentView.findViewById(R.id.nine);
    numbers[9] = (Button) contentView.findViewById(R.id.zero);
    numbers[10] = (Button) contentView.findViewById(R.id.decimal);
    for (int i = 0; i < numbers.length; i++) {
        numbers[i].setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                edt_cargo_info_money_amount.append(((Button) v).getText().toString());
            }
        });
    }
    del = (Button) contentView.findViewById(R.id.del);
    del.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            edt_cargo_info_money_amount.setText(" ");
        }
    });
    success = (Button) contentView.findViewById(R.id.ok);
    cancel = (Button) contentView.findViewById(R.id.cancel);
    success.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Amount = edt_cargo_info_money_amount.getText().length() > 0 ? edt_cargo_info_money_amount.getText().toString() : null;
            txt_display_money.setText(edt_cargo_info_money_amount.getText());
            dialog.dismiss();
        }
    });
    cancel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            chk_cargo_info_money.setChecked(false);
            txt_display_money.setText("0.0");
            dialog.dismiss();
        }
    });

Upvotes: 0

Views: 46

Answers (1)

Gabe Sechan
Gabe Sechan

Reputation: 93708

String text = edt_cargo_info_money_amount.getText().toString();
edit_cargo_info_money_amount.setText(text.substring(0, text.length()-1);

substr(0, length-1) removes the last character, then we set the edit text to that new string.

Upvotes: 2

Related Questions