【问题标题】:Null Pointer Exception during PerformFiltering on an AutoCompleteTextView在 AutoCompleteTextView 上执行过滤期间出现空指针异常
【发布时间】:2010-08-28 23:42:41
【问题描述】:

我已经成功地为 AutoCompleteTextView 实现了一个自定义 SimpleCursorAdapter,它根据输入框中的内容建议来自数据库的条目。但是,我收到以下非致命错误:

performFiltering() 期间发生异常!
java.lang.NullPointerException
在 com.stev.LondonTaxi.Route.runQuery(Route.java:456) 在 com.stev.LondonTaxi.AutocompleteAdapter.runQueryOnBackgroundThread(AutocompleteAdapter.java:61)

我的代码中的相关摘录如下 - 我想知道是否有人能够阐明?

public class Route extends Activity implements View.OnClickListener,
AdapterView.OnItemClickListener, FilterQueryProvider {

from_adapt.setFilterQueryProvider(this);

public Cursor runQuery(CharSequence constraint) {
String filter = constraint.toString().toUpperCase() + "%'"; 
Cursor all_Cursor_filter = dbse.autocomplete_query(filter);
return all_Cursor_filter;
     }

public class AutocompleteAdapter extends SimpleCursorAdapter implements Filterable {
 public Cursor runQueryOnBackgroundThread(CharSequence constraint) {
    if (getFilterQueryProvider() != null) 
    { return getFilterQueryProvider().runQuery(constraint); }
    return dbAdapt.autocomplete_query();
        }

史蒂夫

【问题讨论】:

    标签: android autocomplete


    【解决方案1】:

    constraintdbse 为空。不确定第 456 行是哪一个。

    但尝试在toString 调用之前检查constraint 是否为null。

    【讨论】:

    • 问题确实是双重的。首先,我的活动中根本不需要 FilterQueryProvider,因为我已经对适配器进行了子类化。这将进一步讨论here。另一个问题是我没有在我的适配器(AutocompleteAdapter)中打开数据库连接
    猜你喜欢
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    相关资源
    最近更新 更多