Android 触发多次TextEdit onTextChanged
我的基本代码是works,但当编辑一些editText时,我混淆了触发器。当editText处于编辑或更改状态时 我的推荐人是:Android 触发多次TextEdit onTextChanged,android,android-edittext,android-textwatcher,Android,Android Edittext,Android Textwatcher,我的基本代码是works,但当编辑一些editText时,我混淆了触发器。当editText处于编辑或更改状态时 我的推荐人是: 我的输入类型Xml是number,我尝试了一下。另一种方法是使用忽略,并且仍然得到了相同的结果,卡住了编号|文本建议 与此相比,我的代码仍然有意义 奇怪的结果是: 第一个代码仅触发/触发1次,与第二个代码相比,将导致一次多次触发: public void onTextChanged(CharSequence charSequence, int i, in
- 与此相比,我的代码仍然有意义
- 奇怪的结果是:
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
editModelArrayList.get(position).setEditTextValueCrt(holder.editTextCrt.getText().toString());
if (mToggle) {
if (mToggle2) {
Log.d(TAG, "onTextChanged: HIT KEY" + mToggle);
try {
Integer val = Integer.valueOf(holder.editTextSeq.getText().toString());
if exist data previously, so never replace in seq only
}
catch (Exception e){
//get all data, if empty > set 1, else set : check all data, count data +1
List<Integer> listQtySeq;
listQtySeq = new ArrayList<Integer>();
for (int j = 0; j < CustomeAdapter.editModelArrayList.size(); j++){
String nilaiSeq = editModelArrayList.get(j).getEditTextValueSeq();
nilaiSeq = checkNull(nilaiSeq);
if (Integer.parseInt(nilaiSeq) > 0) {
listQtySeq.add(Integer.parseInt(nilaiSeq));
}
}
Log.d(TAG, "afterTextChanged: size llistq: "+listQtySeq.size());
if(listQtySeq.size()<1){
editModelArrayList.get(position).setEditTextValueSeq("1");
}
else{
Integer totSize = listQtySeq.size()+1;
Log.d(TAG, "afterTextChanged: size newZise: "+totSize.toString());
editModelArrayList.get(position).setEditTextValueSeq(totSize.toString());
}
Log.d(TAG, "onTextChanged: error ~" + e);
}
}
mToggle2 = !mToggle2;
}
mToggle = !mToggle;
}
public void onTextChanged(CharSequence CharSequence,int i,int i1,int i2){
editModelArrayList.get(位置).setEditTextValueCrt(holder.editTextCrt.getText().toString());
如果(MTOGLE){
if(mToggle2){
Log.d(标记“onTextChanged:HIT KEY”+mtogle);
试一试{
Integer val=Integer.valueOf(holder.editTextSeq.getText().toString());
如果以前存在数据,则切勿仅在seq中替换
}
捕获(例外e){
//获取所有数据,如果为空>设置1,否则设置:检查所有数据,计数数据+1
列表QTYSEQ;
listQtySeq=newarraylist();
对于(int j=0;j0){
add(Integer.parseInt(nilaiSeq));
}
}
Log.d(标记“后文本更改:大小llistq:+listQtySeq.size()”);
if(listQtySeq.size()如果需要更多解释,请评论,,或者我的问题有问题..?编辑文本对象有问题吗?
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
editModelArrayList.get(position).setEditTextValueCrt(holder.editTextCrt.getText().toString());
if (mToggle) {
if (mToggle2) {
Log.d(TAG, "onTextChanged: HIT KEY" + mToggle);
try {
Integer val = Integer.valueOf(holder.editTextSeq.getText().toString());
if exist data previously, so never replace in seq only
}
catch (Exception e){
//get all data, if empty > set 1, else set : check all data, count data +1
List<Integer> listQtySeq;
listQtySeq = new ArrayList<Integer>();
for (int j = 0; j < CustomeAdapter.editModelArrayList.size(); j++){
String nilaiSeq = editModelArrayList.get(j).getEditTextValueSeq();
nilaiSeq = checkNull(nilaiSeq);
if (Integer.parseInt(nilaiSeq) > 0) {
listQtySeq.add(Integer.parseInt(nilaiSeq));
}
}
Log.d(TAG, "afterTextChanged: size llistq: "+listQtySeq.size());
if(listQtySeq.size()<1){
editModelArrayList.get(position).setEditTextValueSeq("1");
}
else{
Integer totSize = listQtySeq.size()+1;
Log.d(TAG, "afterTextChanged: size newZise: "+totSize.toString());
editModelArrayList.get(position).setEditTextValueSeq(totSize.toString());
}
Log.d(TAG, "onTextChanged: error ~" + e);
}
}
mToggle2 = !mToggle2;
}
mToggle = !mToggle;
}