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

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

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的点击事件中 默认为打开ToggleButton
class 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 后都重置了上面的数字啊 不应该只执行十次吗 怎么执行次数越来越多啊


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

【热门文章】
【热门文章】