应用场景
有多个Edittext相互监听:例如单价,总价,数量三者关系,知道其中两个,计算出另一个,且实时随着编辑框的输入变化着。
处理方式如下:
package com.example.pulltorefreshdemo.fragment;
import com.example.pulltorefreshdemo.R;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.SearchView.OnQueryTextListener;
import android.widget.TextView;
public class FirstFragment extends Fragment implements TextWatcher{
private EditText et1;
private EditText et2;
private EditText et3;
private Boolean flag = false;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view=LayoutInflater.from(getActivity()).inflate(R.layout.tem_listener, container,false);
return view;
}
public void initView(View view){
et1=(EditText) view.findViewById(R.id.et1);
et2=(EditText) view.findViewById(R.id.et2);
et3=(EditText) view.findViewById(R.id.et3);
et1.addTextChangedListener(this);
et2.addTextChangedListener(this);
et3.addTextChangedListener(this);
}
@Override
public void afterTextChanged(Editable s) {
if(flag){
return;
}
flag=true;
flag=false;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
}