Android开发 小弟我想设置edittext 输入完成后在调用监听方法
Android开发 我想设置edittext 输入完成后在调用监听方法
就是editText的监听事件 不要一变化就调用 要等输入完几秒钟 在调用。。。这个用什么方法去实现
求DEMO
------解决思路----------------------
例如这样:
测试一下:
注意在布局代码中加一个能获取焦点的控件,不然,你懂得,谁去拿焦点呢,对吧。
就是editText的监听事件 不要一变化就调用 要等输入完几秒钟 在调用。。。这个用什么方法去实现
求DEMO
------解决思路----------------------
例如这样:
public class MyEditText extends EditText{
private OnImputCompleteListener mOnImputCompleteListener;
public MyEditText(Context context) {
super(context);
}
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@SuppressLint("NewApi")
public MyEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
protected void onFocusChanged(boolean focused, int direction,
Rect previouslyFocusedRect) {
super.onFocusChanged(focused, direction, previouslyFocusedRect);
if (!focused) {
mOnImputCompleteListener.onImputComplete();
}
}
public void setOnImputCompleteListener(OnImputCompleteListener l) {
this.mOnImputCompleteListener = l;
}
}
interface OnImputCompleteListener {
void onImputComplete();
}
测试一下:
private MyEditText mEt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_testet);
mEt = (MyEditText) findViewById(R.id.met1);
mEt.setOnImputCompleteListener(new OnImputCompleteListener() {
@Override
public void onImputComplete() {
Log.i("MyEditText_Test_tag", "imput is :"+mEt.getText().toString());
}
});
}
注意在布局代码中加一个能获取焦点的控件,不然,你懂得,谁去拿焦点呢,对吧。