如何解决Android上的NullPointerException问题?

时间:2011-04-13 17:18:03

标签: android nullpointerexception

我的程序立即崩溃在我的Android模拟器上,我在Eclipse控制台中收到了这个:

java.lang.NullPointerException
    at com.android.ddmlib.Client.sendAndConsume(Client.java:572)
    at com.android.ddmlib.HandleHello.sendHELO(HandleHello.java:142)
    at com.android.ddmlib.HandleHello.sendHelloCommands(HandleHello.java:65)
    at com.android.ddmlib.Client.getJdwpPacket(Client.java:671)
    at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:317)
    at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)

如何解决投放此邮件的问题?我是Eclipse和Android的新手。

当我尝试使用按钮启动对话框时程序完全崩溃,并在此处引用:

    @Override
    protected Dialog onCreateDialog(int id) {
        Dialog dialog;
        switch (id) {
        case TIME_DIALOG_ID:
            return new TimePickerDialog(this,
                    mTimeSetListener, mHour24, mMinute, false);


        case POWER_OFF_OPTIONS:
            AlertDialog.Builder builder;
            AlertDialog alertDialog;

            Context mContext = getApplicationContext();
            LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
            View layout = inflater.inflate(R.layout.options,
                    (ViewGroup)findViewById(R.id.relativeLayout1));
            //Capture view elements
            mChkAudio = (CheckBox) findViewById(R.id.chkAudio);
            mChkBluetooth = (CheckBox) findViewById(R.id.chkBlueTooth);
            mChkNetwork = (CheckBox) findViewById(R.id.chkNetwork);
            mChkWifi = (CheckBox) findViewById(R.id.chkWifi);
            mBtnOK = (Button) findViewById(R.id.btnOK);
            mBtnOK.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                  DismissPowerOptions();
                    }
            }); 
            builder = new AlertDialog.Builder(mContext);
            builder.setView(layout);
            alertDialog = builder.create();
            //return alertDialog;
        default:
            dialog = null;
        }
        return dialog;
    }

3 个答案:

答案 0 :(得分:3)

错误不是来自您的程序。这是Android的Eclipse插件的一个问题:“Dalvik Debug Monitor Server”。

http://developer.android.com/guide/developing/debugging/ddms.html

有时候这些事情会陷入糟糕的状态,需要重新启动。关闭模拟器并重新启动Eclipse。使用标有“Start ..”的按钮从AVD Manager窗口启动仿真器。在开始对话框中选择“WIPE ALL DATA”按钮以确保您获得干净的启动。

如果仍无法解决问题,请尝试在AVD管理器中删除您的模拟器并创建一个新模拟器。

答案 1 :(得分:1)

也许你没有configured your AVD正确

答案 2 :(得分:0)

我通过点击无效缓存和重启来解决了这个问题。

file - >无效缓存并重新启动 - >无效并重新启动