为了账号安全,请及时绑定邮箱和手机立即绑定

求大神看一下代码 关于监听edittext和update SQLite

求大神看一下代码 关于监听edittext和update SQLite

红颜莎娜 2019-03-16 14:15:36
String msg3=btn_huadongkaiguan.getText().toString();    EditText[] arr=new EditText[]{et_guanbi,et_ok,et_caidan,et_shezhi,            et_fangxiang,et_fanhui,et_a,et_b,et_c,et_x};    String[] m=new String[]{"a","b","c","d","e"            ,"f","g","h","i","j"};                    //每个edittext的名字    if (msg3.equals("guan")) {        for (int i = 0; i < arr.length; i++) {            //arr[i].setText(null);            String A=m[i];            arr[i].addTextChangedListener(new NewTextWatcher(arr[i],A));//监听每一个edittext                    }}else {    et_guanbi.setText("0");et_ok.setText("1");et_caidan.setText("2");    et_shezhi.setText("3");et_fangxiang.setText("4");et_fanhui.setText("5");    et_a.setText("6");et_b.setText("7");et_c.setText("8");et_x.setText("9");}以上代码在一个ToggleButton的点击事件中 默认为打开ToggleButtonclass NewTextWatcher implements TextWatcher{    private EditText editText;    private String z;        public NewTextWatcher(EditText editText, String i) {        this.editText = editText;        this.z=i;    }    @Override    public void onTextChanged(CharSequence s, int start, int before, int count) {            String msg4=editText.getText().toString();            ContentResolver resolver=getContentResolver();            ContentValues values=new ContentValues();            values.put(z, msg4);            int uri4=resolver.update(uri3, values, "_IDc=?", new String[]{"1"}); //更新数据库            System.out.println("updata"+uri4);            运行这个代码后 第一次关闭 ToggleButton 然后再打开 update执行了十次 这个没问题 然后再关闭 再打开 update执行了 二十次 在打开 关闭 update就执行了 三十次 这是什么原因啊每次ToggleButton 后都重置了上面的数字啊 不应该只执行十次吗 怎么执行次数越来越多啊
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

题主是不是有点熟悉,我昨天好像回答过类似的问题了吧,addTextChangedListener是添加,重复添加就会重复执行,和一般setOnClickListener不一样


查看完整回答
反对 回复 2019-04-16
  • 1 回答
  • 0 关注
  • 291 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信