java - 如何删除 nullPointerException

标签 java android nullpointerexception

我在点击方法的代码中遇到空指针异常。请建议我如何删除它。

package co.sds.iitr.bullsandcows;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener 
{
EditText Num;
Button done;
@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Num = (EditText) findViewById(R.id.etNum);
    done = (Button) findViewById(R.id.btDone);

    done.setOnClickListener(this);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public void onClick(View v) 
{
    // TODO Auto-generated method stub
    if(v.getId()== R.id.btDone)
    {
        String num = Num.getText().toString();
        int n = Integer.getInteger(num);
        Toast.makeText(getApplicationContext(),"Your number is saved",
                Toast.LENGTH_LONG).show();
        Intent i = new Intent(getApplicationContext(),GuessActivtiy.class);     
        i.putExtra("num", n);
        startActivity(i);

    }
    else
        Toast.makeText(getApplicationContext(),"Not Found",
                Toast.LENGTH_LONG).show();


}

 }

GussActivity 是我的另一个 Activity 类,我试图通过 Intent 传递我的值(value)观。 我的原木猫看起来像这样。

03-02 02:01:22.080: D/gralloc_goldfish(901): Emulator without GPU emulation detected.
03-02 02:01:27.570: D/AndroidRuntime(901): Shutting down VM
03-02 02:01:27.570: W/dalvikvm(901): threadid=1: thread exiting with uncaught exception      (group=0xb3aaeba8)
03-02 02:01:27.650: E/AndroidRuntime(901): FATAL EXCEPTION: main
03-02 02:01:27.650: E/AndroidRuntime(901): Process: co.sds.iitr.bullsandcows, PID: 901
03-02 02:01:27.650: E/AndroidRuntime(901): java.lang.NullPointerException
03-02 02:01:27.650: E/AndroidRuntime(901):  at     co.sds.iitr.bullsandcows.MainActivity.onClick(MainActivity.java:45)
03-02 02:01:27.650: E/AndroidRuntime(901):  at  android.view.View.performClick(View.java:4438)
03-02 02:01:27.650: E/AndroidRuntime(901):  at android.view.View$PerformClick.run(View.java:18422)
03-02 02:01:27.650: E/AndroidRuntime(901):  at android.os.Handler.handleCallback(Handler.java:733)
03-02 02:01:27.650: E/AndroidRuntime(901):  at android.os.Handler.dispatchMessage(Handler.java:95)
03-02 02:01:27.650: E/AndroidRuntime(901):  at android.os.Looper.loop(Looper.java:136)
03-02 02:01:27.650: E/AndroidRuntime(901):  at android.app.ActivityThread.main(ActivityThread.java:5017)
03-02 02:01:27.650: E/AndroidRuntime(901):  at java.lang.reflect.Method.invokeNative(Native Method)
03-02 02:01:27.650: E/AndroidRuntime(901):  at java.lang.reflect.Method.invoke(Method.java:515)
03-02 02:01:27.650: E/AndroidRuntime(901):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-02 02:01:27.650: E/AndroidRuntime(901):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-02 02:01:27.650: E/AndroidRuntime(901):  at dalvik.system.NativeStart.main(Native Method)

请帮我解决这个问题。

最佳答案

getInteger 方法替换为 parseInt ,使用 parseInt 方法将 String 转换为 Integer

根据java doc

getInteger(String nm)

确定具有指定名称的系统属性的整数值。如果没有具有指定名称的属性,如果指定名称为空或 null,或者如果属性没有正确的数字格式,则 null回。

关于java - 如何删除 nullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22124877/

相关文章:

java - 使用 matlabcontrol API 在 Netbeans 中调用从 Java 调用 matlab 函数

Java 程序流程和 OOP

android - onListItemClick 不适用于自定义 ListView

java - 应用程序因 NullPointerException 而崩溃

Java 数组列表 java.lang.NullPointerException

java - 递归构造函数调用

java - 在 Intellij Idea 中将资源文件添加到工件中

java - 单击按钮后应用程序停止工作

android - android中sqlite.execSQL函数的参数传递

java - 物质外观和感觉不起作用