简体   繁体   中英

Android Studio : Converting numbers in real time

For AndroidStudio, I am creating a simple conversion app that allows you to convert kilometres to miles and vice versa. I am able to convert it by clicking a button, but how would you do it in real time? For example, as I am typing the number, it converts it right away in a different textbox.

This is the code for my onClick method that I created for my button:

public void onClick(View vw){
    EditText value = (EditText)findViewById(R.id.editText);
    double total = Double.parseDouble(value.getText().toString()) * 0.621371192;
    TextView obj = (TextView)findViewById(R.id.milesDisplay);
    obj.setText(Double.toString(total));
    obj.setVisibility(View.VISIBLE);

}

You can do this if you're using an EditText:

mEditText.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) {
                // Every time you hit a number, capture the number and convert it
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });

inside onTextChanged a listener is trigged every time you hit the keyboard. Force it to only accept numbers.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM