开发者社区 问答 正文

关于对多个Edittext的监听问题

界面上有 十个edittext 要对这是个edittext进行监听 要实时获取他们的内容 然后进行传递 但是这样连着写十遍代码就太长了 能不能用数组来实现监听啊 用数组的话得怎么写啊
edittext.addTextChangedListener(new TextWatcher() {
...} 用了数组的话 前面那个edittext的名字怎么写?

展开
收起
蛮大人123 2016-03-10 10:45:14 2202 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    完全不能理解用数组怎么解决你的问题
    如果你嫌写十遍相同的代码太长,就把相同的代码通过继承 TextWatcher 写到一个类里,在类中绑定的 EditText 进行操作。
    直接给你例子好了:

    class NewTextWatcher implements TextWatcher {
        
        private EditText editText;
        
        public NewTextWatcher(EditText editText) {
            this.editText = editText;
        }
        
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            String msg4 = editText.getText().toString();
        }
                    
        @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
            
        }
    }

    使用et_c.addTextChangedListener(new NewTextWatcher(et_c));

    2019-07-17 18:57:06
    赞同 展开评论
问答地址: