它给了我空指针异常,我已经初始化添加了文本观察者,但我仍然有这个异常。我是不是忘了什么?
感谢任何帮助。
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) {
}
};
当@user8给出答案时,您可以传递类的空对象。你只需要像这样修改
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);
未正确启动,
可以使用editText.getText().toString()进行检查如果通过error则表示没有正确启动
当然,它会给你空指针,你基本上在下一行添加一个null
对象
editText.addTextChangedListener(mSearchTw);
在初始化它之前添加它。
要修复,只需将其移动到初始化之后,即在mSearchTw = new TextWatcher() {...};
这是因为这些语句是顺序执行的。