android TextChanged前的空指针异常



它给了我空指针异常,我已经初始化添加了文本观察者,但我仍然有这个异常。我是不是忘了什么?
感谢任何帮助。

    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() {...};

之后

这是因为这些语句是顺序执行的。

相关内容

  • 没有找到相关文章

最新更新