我有在关键听众,而如果我使用的是textwatcher来实现我的EditText某些功能我已经在这里完全解释Unable to get line number on press of ENTER如何检测不输入使用OnkeyListner
现在的一个问题压,我当我的光标移动到下一行时,每次都需要行号。我想,当按下回车键就知道了,我怎么能做到这一点
这里是textwatcher
scene.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//here is your code
strcheck = s.toString().substring((s.length()-1),s.length());
if (nowUpper)
strcheck = strcheck.toUpperCase();
else if (nowLower)
strcheck = strcheck.toLowerCase();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
if (nowUpper){
if(ix==1)
{
if(strcheck=="\n")
strcheck="a";
Log.v(strcheck, strcheck);
ix=0;
scene.setText(scene.getText().toString().substring(0,scene.length()-1) + strcheck);
scene.setSelection(scene.getText().length());
}
else
{
ix=1;
}
// TODO Auto-generated method stub
}
}
});
您的解决方案不是找到“OnKeyListener”的替代方案。你需要弄清楚为什么你得到一个NPE。请注意,logcat完全告诉你什么是null,你只需要弄清楚为什么你认为它不是。 – keyser