Android Studio:实时转换数字

时间:2015-09-21 17:35:52

标签: java android android-studio real-time

对于AndroidStudio,我正在创建一个简单的转换应用程序,允许您将公里数转换为英里数,反之亦然。我可以通过点击按钮进行转换,但是你会如何实时进行转换呢?例如,当我输入数字时,它会立即将其转换为不同的文本框。

这是我为我的按钮创建的onClick方法的代码:

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);

}

1 个答案:

答案 0 :(得分:3)

如果您使用的是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) {

            }
        });

onTextChanged 内,每次敲击键盘时都会触发一个侦听器。强制它只接受数字。