如何在c#中的android中添加keyup事件?

如何在c#中的android中添加keyup事件?,c#,android,xamarin.android,keylistener,C#,Android,Xamarin.android,Keylistener,我正在尝试为edittext对象添加密钥侦听器。 这是我的.axml <EditText android:id="@+id/amountTextBox" android:layout_width="fill_parent" android:layout_height="wrap_content" /> 我就是这样得到这个物体的 EditText textbox=FindViewById(Resource.Id.amountText

我正在尝试为edittext对象添加密钥侦听器。 这是我的.axml

<EditText
        android:id="@+id/amountTextBox"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

我就是这样得到这个物体的 EditText textbox=FindViewById(Resource.Id.amountTextBox)

我试图在他们按键时更改文本,使其格式为十进制数字,即如果他们输入5,结果将为0.05

我尝试过使用textbox.KeyPress,但只有在按下后退键或完成键时才会调用它


有人能给我指引正确的方向吗?

不要试图在代码中这样做,而是尝试将其添加到EditText对象中:

android:inputType="numberDecimal|numberSigned"
使用TextWatcher

editText.addTextChangedListener(new TextWathcer(){
      @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            // TODO Auto-generated method stub
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            // TODO Auto-generated method stub
        }

        @Override
        public void afterTextChanged(Editable s) {

            // TODO Auto-generated method stub
        }

});

我试过了,但结果不一定是我想要的。如果现有文本为0.00,我按5,结果将为0.005,而我希望它为0.05。好的-您可以实现您自己的InputFilter,如下所示:如果是c,这将非常有用,但不幸的是,有些方法在c中根本不存在,例如Pattern.compile这与c有什么关系?我正在为其开发c#中的安卓系统,因此我需要一个与之配合的解决方案。是c#中的吗?在我的例子中,AddTextChangedListener将ITextWatcher作为参数,因此我无法创建它的实例。不,它是perl,在您的例子中,ITextWatcher是一个接口,创建一个实现它的类并将其传递给AddTextChangedListener