android 中 TextChanged 之前的空指针异常
Null pointer exception before TextChanged in android
它给了我空指针异常 我已经初始化添加的 textwatcher 但我仍然有这个异常。我是不是忘记了什么。
感谢任何帮助。
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 Pointer,你基本上在以下行添加一个null
对象
editText.addTextChangedListener(mSearchTw);
你在初始化之前添加它。
要修复,只需在启动后移动即可,即在mSearchTw = new TextWatcher() {...};
之后
那是因为那些语句被执行了sequentially。
正如@user8 给出的答案,您可以传递 class.You 的空对象,只需像这样更改
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);
它给了我空指针异常 我已经初始化添加的 textwatcher 但我仍然有这个异常。我是不是忘记了什么。
感谢任何帮助。
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 Pointer,你基本上在以下行添加一个null
对象
editText.addTextChangedListener(mSearchTw);
你在初始化之前添加它。
要修复,只需在启动后移动即可,即在mSearchTw = new TextWatcher() {...};
那是因为那些语句被执行了sequentially。
正如@user8 给出的答案,您可以传递 class.You 的空对象,只需像这样更改
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);