关于监听edittext和update SQLite-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于监听edittext和update SQLite

蛮大人123 2016-03-10 15:53:31 1488
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 后都重置了上面的数字啊 不应该只执行十次吗 怎么执行次数越来越多啊

数据库 数据库管理
分享到
取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 18:57:48

    addTextChangedListener是添加,重复添加就会重复执行,和一般setOnClickListener不一样

    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程