android怎么监听输入字
6个回答
2015-12-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
设置监听,editText.addTextChangedListener(new TextWatcher() {
重载public void onTextChanged(CharSequence s ...
获取s就可以了。
希望能帮到你。
重载public void onTextChanged(CharSequence s ...
获取s就可以了。
希望能帮到你。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置监听,editText.addTextChangedListener(new TextWatcher() {
重载public void onTextChanged(CharSequence s ...
获取s就可以了。
希望能帮到你。
重载public void onTextChanged(CharSequence s ...
获取s就可以了。
希望能帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//事件处理
class EditChangedListener implements TextWatcher {
private CharSequence temp;//监听前的文本
private int editStart;//光标开始位置
private int editEnd;//光标结束位置
private final int charMaxNum = 10;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if (DEBUG)
Log.i(TAG, "输入文本之前的状态");
temp = s;
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (DEBUG)
Log.i(TAG, "输入文字中的状态,count是一次性输入字符数");
mTvAvailableCharNum.setText("还能输入" + (charMaxNum - s.length()) + "字符");
}
@Override
public void afterTextChanged(Editable s) {
if (DEBUG)
Log.i(TAG, "输入文字后的状态");
/** 得到光标开始和结束位置 ,超过最大数后记录刚超出的数字索引进行控制 */
editStart = mEditTextMsg.getSelectionStart();
editEnd = mEditTextMsg.getSelectionEnd();
if (temp.length() > charMaxNum) {
Toast.makeText(getApplicationContext(), "你输入的字数已经超过了限制!", Toast.LENGTH_LONG).show();
s.delete(editStart - 1, editEnd);
int tempSelection = editStart;
mEditTextMsg.setText(s);
mEditTextMsg.setSelection(tempSelection);
}
}
};
//然后edittext添加监听。
EditText mEditTextMsg = (EditText)findViewById(R.id.edit);
mEditTextMsg.addTextChangedListener(new EditChangedListener());
class EditChangedListener implements TextWatcher {
private CharSequence temp;//监听前的文本
private int editStart;//光标开始位置
private int editEnd;//光标结束位置
private final int charMaxNum = 10;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if (DEBUG)
Log.i(TAG, "输入文本之前的状态");
temp = s;
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (DEBUG)
Log.i(TAG, "输入文字中的状态,count是一次性输入字符数");
mTvAvailableCharNum.setText("还能输入" + (charMaxNum - s.length()) + "字符");
}
@Override
public void afterTextChanged(Editable s) {
if (DEBUG)
Log.i(TAG, "输入文字后的状态");
/** 得到光标开始和结束位置 ,超过最大数后记录刚超出的数字索引进行控制 */
editStart = mEditTextMsg.getSelectionStart();
editEnd = mEditTextMsg.getSelectionEnd();
if (temp.length() > charMaxNum) {
Toast.makeText(getApplicationContext(), "你输入的字数已经超过了限制!", Toast.LENGTH_LONG).show();
s.delete(editStart - 1, editEnd);
int tempSelection = editStart;
mEditTextMsg.setText(s);
mEditTextMsg.setSelection(tempSelection);
}
}
};
//然后edittext添加监听。
EditText mEditTextMsg = (EditText)findViewById(R.id.edit);
mEditTextMsg.addTextChangedListener(new EditChangedListener());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在EditText中有个好像textwatch的方法(具体什么忘了)可以监听输入前输入中输入后的状态
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是要别人每输入完一个字你都监听?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |