版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/suyimin2010/article/details/85376320
public class EditHodler extends RecyclerView.ViewHolder {
private EditText et;
public EditHodler(View itemView) {
super(itemView);
et = (EditText) itemView.findViewById(R.id.et);
et.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (et.getLineCount() > 4) {
/*告诉父组件不要拦截他的触摸事件*/
v.getParent().requestDisallowInterceptTouchEvent(true);
}
return false;
}
});
}
public void initView(final int position) {
if (datas == null || datas.isEmpty()) {
return;
}
TextWatcher lastTextWatcher = (TextWatcher) et.getTag();
if (lastTextWatcher != null) {
et.removeTextChangedListener(lastTextWatcher);
}
final Item entity = datas.get(position);
et.setText(entity.getDesc());
InputFilter[] inputFilters = new InputFilter[]{InputFilterUtil.getInputFilter(context, 100)};
et.setFilters(inputFilters);
TextWatcher textWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
entity.setDesc(s.toString());
}
};
et.addTextChangedListener(textWatcher);
et.setTag(textWatcher);
}
}