ArrayAdapter.getCount() NullPointerException

2024-05-05

我的 Android 应用程序中有以下代码:

   protected ArrayList<String> message;

   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.where_to_go);

      whereToGoField = (AutoCompleteTextView)findViewById(R.id.WhereToGoField);

      adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line);
      whereToGoField.addTextChangedListener(whereToGoFieldInputWatcher);
      whereToGoField.setAdapter(adapter);
   }


   TextWatcher whereToGoFieldInputWatcher = new TextWatcher() {
      public void onTextChanged(final CharSequence s, int start, int before, int count) {
         Thread t = new Thread() {
            public void run() {
               Object o = Server.getStreetSuggestions(s.toString());
               if (o!=null) {
                  message = (ArrayList<String>)o;
               }
               messageHandler.sendEmptyMessage(0);
            }
         };
         t.start();
      }

   };

   private Handler messageHandler = new Handler() {
      public void handleMessage(Message msg) {
         adapter.clear();
          for(int i=0; i<message.size(); ++i){
              adapter.add(message.get(i));
          }
          adapter.notifyDataSetChanged();
      }
   };

基本上它从我的服务器获取响应并在 autocompletetextview 中填充此响应。

但有时我会收到以下错误:

04-25 16:08:42.288: ERROR/AndroidRuntime(6193): FATAL EXCEPTION: main
04-25 16:08:42.288: ERROR/AndroidRuntime(6193): java.lang.NullPointerException
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.widget.ArrayAdapter.getCount(ArrayAdapter.java:322)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.widget.AdapterView.checkFocus(AdapterView.java:720)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.widget.AdapterView$AdapterDataSetObserver.onInvalidated(AdapterView.java:844)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.database.DataSetObservable.notifyInvalidated(DataSetObservable.java:74)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.widget.BaseAdapter.notifyDataSetInvalidated(BaseAdapter.java:85)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.widget.ArrayAdapter$ArrayFilter.publishResults(ArrayAdapter.java:500)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:313)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.os.Handler.dispatchMessage(Handler.java:130)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.os.Looper.loop(Looper.java:154)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at android.app.ActivityThread.main(ActivityThread.java:4668)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at java.lang.reflect.Method.invokeNative(Native Method)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at java.lang.reflect.Method.invoke(Method.java:552)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:917)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:674)
04-25 16:08:42.288: ERROR/AndroidRuntime(6193):     at dalvik.system.NativeStart.main(Native Method)

我无法理解它是从哪里来的。

你能帮我吗?


看看这是否有帮助(添加setNotifyOnChange):

private Handler messageHandler = new Handler() {
      public void handleMessage(Message msg) {
         adapter.setNotifyOnChange(false); //stop notification while adding data
         adapter.clear();
          for(int i=0; i<message.size(); ++i){
              adapter.add(message.get(i));
          }
          adapter.notifyDataSetChanged();
      }
   };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArrayAdapter.getCount() NullPointerException 的相关文章

随机推荐

  • Javascript 不会删除 div 中的所有元素

    创建这段 JavaScript 代码是为了删除 div 内的所有输入 function remove inputs var elements document getElementById thediv getElementsByTagNa
  • 无法使用 Shinyjs() 禁用闪亮的应用程序单选按钮

    我正在尝试禁用闪亮的应用程序单选按钮 趋势 input Product A input month All 使用Shinyjs包 但没有成功 我的 ui 页面定义为 ui lt fluidPage shinyjs useShinyjs pa
  • WPF TabItem 标题模板

    示例代码
  • 如何更改 Android 中 DatePicker 的样式?

    我想更改 Android 中日期 时间选择器对话框的默认颜色 以便它与我的应用程序主题相匹配 我在Google上搜索了解决方案 但没有找到解决方案 我正在做的是创造一种新风格 不知道日期选择器对话框有哪些可用属性 如果有人可以发布一个链接
  • 为什么不能执行 mov [eax], [ebx] [重复]

    这个问题在这里已经有答案了 我可以做这个 mov eax ebx 和这个 mov eax ebx 甚至这个 mov eax ebx 但不是这个 错误C2415 mov eax ebx 只是wtf 为什么 它与 ptr1 ptr2 相同 为什
  • 解析带有 @ at 符号的 JSON (arobase)

    我的 JSON 对象的计算结果为 io IO type XXX 如果这个变量被调用my json 我如何访问 typeXXX 的值 我试过my json type 但这会产生错误 帮助表示赞赏 谢谢 Nick 对字符串使用方括号表示法 va
  • Team Foundation Build 还是 TeamCity?

    我们主要是一家从事 NET LOB 开发的 MS 商店 我们还在 CRM 应用程序中使用 MS Dynamics 所有开发人员目前都在使用 VS SQL Server 2008 我们也使用 VSS 但每个人在工作中都讨厌它 而且很快就会被淘
  • Guava Joiner 无法添加前缀和后缀[重复]

    这个问题在这里已经有答案了 我要求 Joiner 能够为元素添加前缀和后缀 例如 String str a b c Joiner on prefix suffix join str 预期输出为 a b c 我们有什么替代方案吗 因为番石榴不
  • 检查存储过程是否正在运行?

    是否可以检查 SQL Server 中当前是否有任何存储过程正在运行 我问过一次 查看 Sql Server 2000 如何找出当前正在运行哪些存储过程 https stackoverflow com questions 129086 sq
  • Razor 视图中的内联 If

    在我的控制器中 我有内联 If 语句 ViewBag NameSortParam If String IsNullOrEmpty sortOrder Name desc 在我看来 如果出现以下情况 我似乎无法使用内联 Code If Tru
  • Apache2启动失败,无错误日志

    我会重新启动 Apache2 但出现错误 sudo service apache2 start Starting web server apache2 Action start failed The Apache error log may
  • 将数据插入多个表 PHP MySQL

    我有一个用于存储食谱的基本数据结构 它由三个表组成 如下所示 表 1 食谱 recipe id recipe name 表 2 成分 成分 ID 成分名称 表 3 配方 成分 配方 id 成分 id 我在添加新配方时遇到问题 想知道插入的最
  • 使用 CSS 首字下沉

    我怎样才能使每个段落的第一个字符看起来像这样 我更喜欢只使用 CSS p first letter float left font size 5em line height 0 5em padding bottom 0 05em paddi
  • 从 C++ 代码自动生成流程图 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要自动地用 C 代码构造流程图 最好每个源文件一个流程图 有没有任何工具 最好是 C Python
  • 批量设置变量=%变量:~1%是什么意思

    谁能解释一下是什么 1 在批处理文件中的以下语句中 我分配的值 variable到服务器名称并尝试过echo variable 我得到与输出相同的服务器名称 谁能解释一下下面的语句是如何工作的 set variable variable 1
  • 如何使用 Kinect 追踪一个人 (trackingID)

    我想跟踪第一个人 并使用这个人的右手在我制作的应用程序中导航 我可以接管光标 现在我只想跟踪一个人 因此 基本上 当一个人在程序中导航时 有人走在他身后或与这个人一起看 如果他们移动 kinect 不应该识别其他任何人 我怎样才能实现这个
  • 在链接时合并全局数组/从多个编译单元填充全局数组

    我想定义一系列的东西 比如事件处理程序 的内容 该数组在编译时是完全已知的 但定义在 多个编译单元 分布在多个库中 至少在最终 静态 链接之前是相当解耦的 我想要 也保持这种方式 因此添加或删除编译单元将 还可以自动管理事件处理程序 而无需
  • 在 JSF 应用程序中通过反射读取托管 Bean 的内容

    我想以自动生成的方式打印出支持 bean 的内容 所以所有的内容都出现在一个JSP上 无论如何 这可能吗 提前致谢 丹尼尔 一种方法是使用JavaBean API http java sun com javase 6 docs api ja
  • mysqli_result 无法转换为 int [重复]

    这个问题在这里已经有答案了 我想将 SQL COUNT 的结果存储在变量中 然后将它们相除 但是出现错误 注意 类 mysqli result 的对象在 中无法转换为 int countrows SELECT count AS NumRow
  • ArrayAdapter.getCount() NullPointerException

    我的 Android 应用程序中有以下代码 protected ArrayList