无法在logcat中找到错误

时间:2014-07-15 08:48:03

标签: android android-spinner android-logcat

我无法在Android应用程序中找到错误。我已阅读有关如何读取logcat错误的指南,但我的错误问题是它不是来自我的类​​。有人可以告诉我如何调试这个吗?

我的布局中有两个微调器。其中一个字符串数组已修复其内部项目列表。其他微调器的项目是使用一些代码动态生成的。该程序实际上在模拟器上运行良好。但是当我在我的设备上运行时,没有使用微调器的切换按钮会使应用程序崩溃。如果我需要分享任何更多细节或信息进行调试,请告诉我。

抱歉,我发布了logcat,但图片消失了。完整的logcat现在在下面。 logcat logcat2

这是按下时切换应用程序的切换按钮。

public void onToggleClicked(查看视图){         Context context = getApplicationContext();

    if (checkConnectivity()) {
        // Is the toggle on?
        boolean on = tglbtn.isChecked();

        if (on) {
            startRepeatingTask();
        } else {
            stopRepeatingTask();
        }
    }
    else {
        Toast.makeText(context, "Please check your internet connection.", Toast.LENGTH_LONG).show();
    }
}

这两种方法......

Runnable mStatusChecker = new Runnable() {
          @Override 
          public void run() {
            //updateStatus(); //this function can change value of mInterval.
              new updateBuses().execute();
              mHandler.postDelayed(mStatusChecker, mInterval);
          }
        };

        void startRepeatingTask() {
          mStatusChecker.run(); 
        }

        void stopRepeatingTask() {
          mHandler.removeCallbacks(mStatusChecker);
        }

updateBuses类是一个Asynctask,它与我的微调器无关。这是填充我的微调器的方法。

private void plotBuses(ArrayList<MyMarker> markers) {
        Log.d("Checking Array", mMyMarkersArray.toString());
        if(markers.size() > 0)
        {
            for (MyMarker myMarker : markers)
            {
                // Create bus marker with custom icon and other options
                Log.d("plotting", myMarker.getmLabel());
                MarkerOptions markerOption = new MarkerOptions().position(new LatLng(myMarker.getmLatitude(), myMarker.getmLongitude()));
                markerOption.title(myMarker.getmLabel());
                markerOption.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_bus));

                Marker currentMarker = map.addMarker(markerOption);
                mMarkersHashMap.put(currentMarker, myMarker);
            }

            Log.d("check hashmap:", mMarkersHashMap.toString());
            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>
            (this, android.R.layout.simple_spinner_item,spinnerList);

            dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner1.setAdapter(dataAdapter);
        }
    }

spinnerList不为null,因为我的微调器填充了微调器内的项目。

1 个答案:

答案 0 :(得分:0)

根据文档记录引发makeAndAddView()的方法NullPointerException的目的:
通过从回收站拉出现有视图或从适配器获取新视图来获取视图。
此方法尝试通过访问绑定到此View的适配器来获取Spinner

P.S。
您在构建过程中使用了哪些API版本?您正在测试的AVD和实际手机Android版本是什么?