android中TextChanged之前的空指针异常
它给了我空指针异常,我已经初始化添加了textwatcher,但我仍然有这个异常。我是不是忘了什么东西。android中TextChanged之前的空指针异常,android,android-textwatcher,Android,Android Textwatcher,它给了我空指针异常,我已经初始化添加了textwatcher,但我仍然有这个异常。我是不是忘了什么东西。 感谢您的帮助 EditText editText = (EditText) dialogList.findViewById(R.id.search); editText.addTextChangedListener(mSearchTw); mSearchTw = new TextWatcher() { @Override public void onTextCha
感谢您的帮助
EditText editText = (EditText) dialogList.findViewById(R.id.search);
editText.addTextChangedListener(mSearchTw);
mSearchTw = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after) {
pokeAdapter.getFilter().filter(s);
}
@Override
public void afterTextChanged(Editable s) {
}
};
没有正确启动 您可以使用editText.getText().toString()进行检查
如果出现错误,则意味着无法正确启动当然,它将为您提供空指针,您基本上会在下一行添加一个
Null
对象
editText.addTextChangedListener(mSearchTw);
您可以在初始化它之前添加它
要修复,只需在启动后移动它,即在mSearchTw=newtextWatcher(){…}之后代码>
这是因为这些语句是被执行的 当@user8给出答案时,您可以传递类的null对象。您只需这样更改
EditText editText = (EditText)findViewById(R.id.editText);
TextWatcher mSearchTw = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after) {
pokeAdapter.getFilter().filter(s);
}
@Override
public void afterTextChanged(Editable s) {
}
};
editText.addTextChangedListener(mSearchTw);
你为什么这样做,你可以这样做,谢谢我已经接受了答案,但我会投赞成票。谢谢你的帮助:)谢谢它帮我一把:)