我正在使用编辑文本观察器,进行一些计算。如下所示,
每个编辑文本组(A,B,C)都可以独立且相对地工作。但只有我来自上下才相对有效。我想在调用的每个Edit Text onTextChange()方法上刷新(getText和setText)。我可以使用自定义方法执行此操作。
但是我可以一次性完成这项工作,就像特定XML的所有编辑文本值得到刷新一样,因此每个editText onTextChange都将以TOP-DOWN方法调用,因为每个后代组都依赖于某个上下文到前一个组。
答案 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();
}
});