我正在做一个关于Android开发的Udacity课程,特别是在网络atm上。我正在构建一个应用程序,可以查找最近的电动汽车充电点并将其显示在列表视图中。目前,我只是想在检索实时数据之前让结构正常工作。
我正在使用一个自定义对象 - ChargePoint- 它需要 5 个输入。
我正在使用自定义适配器 - ChargePointAdapter - 它将 5 位信息转换为list_item.xml中的正确位置
My - MainActivity - 存储占位符数据,使用数据创建适配器,从activity_main.xml中查找列表视图并设置适配器。
我没有收到任何错误,但是我的应用程序在启动时崩溃。
这是该项目的链接:https://github.com/Kovah101/ChargeMyCar
编辑:在进一步检查时,当我注释掉该行时,应用程序会运行:
chargePointListView.setAdapter(adapter)
我认为这意味着我的自定义适配器类不应该受到责备?从运行版本到非运行版本的日志输出的唯一区别是
09-21 18:08:54.533 20790-20790/com.example.android.chargemycar I/Process: Sending signal. PID: 20790 SIG: 9
任何帮助将不胜感激!
所以有一些小错误,DroiDev 说适配器导致了错误是正确的,因为注释掉该行允许应用程序运行。
我浏览了ChargePointAdapter的每个部分,发现了TextView distanceTextView = (TextView) listItemView.findViewById(distance);
应该R.id.distance
,修复它并不能解决我的问题,所以我注释掉了整个distance
块,以通过应用程序开始消除过程。第一次,解决了崩溃,所以错误在
TextView distanceTextView = (TextView) listItemView.findViewById(R.id.distance);
String distance = Double.toString(currentChargePoint.getDistance());
distanceTextView.setText(distance);
从理论上讲,一切都有效,所以我查看了我的 xml,我的父视图有id/distance
而不是我的textView
,纠正了修复所有问题,Github 现在也使用工作代码进行了更新。
继续往下看拉比特洞(感谢DroiDev)