注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

悠游自在

似水流年,悠游天地,自在我心

 
 
 

日志

 
 
 
 

mono:实现对EditText输入事件的监听  

2013-10-30 21:00:25|  分类: IT技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
程序中希望监听EditText的输入事件,在网上找了这样一篇文章,http://www.android-study.com/jichuzhishi/154.html
其中写道:
 使用TextWatcher类,这种方式是可以监听软键盘和硬键盘的,我们只需要实现onTextChanged方法即可,另外TextWatcher还提供了beforeTextChanged和afterTextChanged方法,用于更加详细的输入监听处理。
edittext.addTextChangedListener(new TextWatcher() {           
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        textview.setText(edittext.getText());
    }
     
    @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }
     
    @Override
        public void afterTextChanged(Editable s) {
    }
});
上述例子是用java实现的,在mono里用c#怎么实现呢,这里用到了接口实现机制。
方法如下:
首先声明需要监听文本控件的activity要实现一个接口ITextWatcher ;并实现其接口需要的OnTextChange等3个方法;然后调用EditText的AddTextChangedListener ,将本activity的this实例add进去,这样通过一定的反射机制,相应的事件就可以在本activity的OnTextChange方法中监听并处理了。
示例代码如下。
        protected override void OnCreate (Bundle bundle)
        {
            base.OnCreate (bundle);
            SetContentView (Resource.Layout.PrintOrder);

            EditText txtCount = FindViewById<EditText> (Resource.Id.txtCount);
             txtCount.AddTextChangedListener (this); 
         }

        public void AfterTextChanged (Android.Text.IEditable s)
        {
        }
        public void BeforeTextChanged (ICharSequence s, int start, int count, int after)
        {
        }
        public void OnTextChanged (ICharSequence s, int start, int before, int count)
        {
            int nCount=0;
            int.TryParse (txtCount.Text,out nCount);
            double billSum = nCount * TermUtil.PrintUnitPrice;
            txtSum.Text = billSum.ToString ("#.00");
        }
  评论这张
 
阅读(378)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018