我可以一次刷新(getText和setText)所有编辑文本值吗?

时间:2015-01-28 08:02:01

标签: android

我正在使用编辑文本观察器,进行一些计算。如下所示,

enter image description here

每个编辑文本组(A,B,C)都可以独立且相对地工作。但只有我来自上下才相对有效。我想在调用的每个Edit Text onTextChange()方法上刷新(getText和setText)。我可以使用自定义方法执行此操作。

但是我可以一次性完成这项工作,就像特定XML的所有编辑文本值得到刷新一样,因此每个editText onTextChange都将以TOP-DOWN方法调用,因为每个后代组都依赖于某个上下文到前一个组。

1 个答案:

答案 0 :(得分:0)

这是可行的,你必须有一个算法。但是,是的,这是可能的,而不是太具挑战性......

作为提示,每个侦听器内部的EditText.onTextChanged()方法将需要访问其他5个EditText兄弟/邻居。 (分别为A-C行和1-2列)。 6个编辑文本的所有6个onTextChangedListener实现在处理textChanged事件时可能需要是唯一的。您将需要传入它们负责更改其构造函数的对象。 即

EditText et1 = (EditText)findViewById(R.id.editText1);
EditText et2 = (EditText)findViewById(R.id.editText2);
et1.setOnTextChangedListener(new TextChangedListener(et2){

 //global var       
     EditText nextEditText;


    public TextChangedListener(EditText editText){
      super();
      nextEditText = editText;
    }     

  public void onTextChanged(){

    this.alert();
  }

  public void alert(){
    //modify data here and update self if necessary.

    //then alert the next boxes on text changed method.
    nextEditText = editText.getListener().alert();
  }


});