方法) 10-27 17:40:58.832:E/AndroidRuntime(1497):由以下原因引起:java.lang.NullPointerException 10-27 17:40:58.832:E/AndroidRuntime(1497):位于se.develope.axson.ActivityEnergy.onCreate(ActivityEnergy.java:52) 10-27 17:40:58.832:E/AndroidRuntime(1497):在android.app.Activity.performCreate(Activity.java:5133) 10-27 17:40:58.832:E/AndroidRuntime(1497):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 10-27 17:40:58.832:E/AndroidRuntime(1497):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 10-27 17:40:58.832:E/AndroidRuntime(1497):。。。还有11个

方法) 10-27 17:40:58.832:E/AndroidRuntime(1497):由以下原因引起:java.lang.NullPointerException 10-27 17:40:58.832:E/AndroidRuntime(1497):位于se.develope.axson.ActivityEnergy.onCreate(ActivityEnergy.java:52) 10-27 17:40:58.832:E/AndroidRuntime(1497):在android.app.Activity.performCreate(Activity.java:5133) 10-27 17:40:58.832:E/AndroidRuntime(1497):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 10-27 17:40:58.832:E/AndroidRuntime(1497):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 10-27 17:40:58.832:E/AndroidRuntime(1497):。。。还有11个,java,android,nullpointerexception,Java,Android,Nullpointerexception,我放弃了寻找NullPointerException的解决方案。 相反,我找到了另一种不用监听器就能解决问题的方法。是@Chronos在另一个线程中提供了解决方案 在XML中,按钮定义为ad android:onClick="ButtonOnClick" 在代码中定义了“ButtonClick”。在我的例子中,它看起来是这样的: public void ButtonOnClick(View v){ // TODO Auto-generated method stub float

我放弃了寻找NullPointerException的解决方案。 相反,我找到了另一种不用监听器就能解决问题的方法。是@Chronos在另一个线程中提供了解决方案

在XML中,按钮定义为ad

android:onClick="ButtonOnClick"
在代码中定义了“ButtonClick”。在我的例子中,它看起来是这样的:

public void ButtonOnClick(View v){
// TODO Auto-generated method stub
        float num10 = 0;
        float num20 = 0;
        float num30 = 0;
        float result = 0;

        // check if the fields are empty
        if (TextUtils.isEmpty(etNum10.getText().toString())
            || TextUtils.isEmpty(etNum20.getText().toString())
            || TextUtils.isEmpty(etNum30.getText().toString())) {
          return;
        }

        // read EditText and fill variables with numbers
        num10 = Float.parseFloat(etNum10.getText().toString());
        num20 = Float.parseFloat(etNum20.getText().toString());
        num30 = Float.parseFloat(etNum30.getText().toString());

     // defines the button that has been clicked and performs the corresponding operation
        switch (v.getId()) {
        case R.id.btnNrj:
          oper = "";
          result = (float) ((nrjspinner * ((num10 * num20) / num30))*0.001);
          break;
        default:
          break;
您可以在此线程中找到Chronos答案:

是否尝试删除自动生成的R.java文件?如果不尝试删除它,请关闭eclipse或IDE,再次打开它并清理项目。为什么您要使用对象值。Bcoz u只分配了它,但没有使用任何值,其中第52行是我在问题中提到的btnNrj.setOnClickListener行(此)。我已经删除了R.java。还是不行。老实说,我不知道托比亚斯·k。我是个新手。你能解释一下对象值吗,Shaheen?@Shakebshaheen我以为我给它分配了以下行:value=parent.getItemAtPosition(位置);它不再崩溃了(见我的答案)。到目前为止还不错,但现在我无法让公式起作用。我只能假设它与微调器和值有关。
android:onClick="ButtonOnClick"
public void ButtonOnClick(View v){
// TODO Auto-generated method stub
        float num10 = 0;
        float num20 = 0;
        float num30 = 0;
        float result = 0;

        // check if the fields are empty
        if (TextUtils.isEmpty(etNum10.getText().toString())
            || TextUtils.isEmpty(etNum20.getText().toString())
            || TextUtils.isEmpty(etNum30.getText().toString())) {
          return;
        }

        // read EditText and fill variables with numbers
        num10 = Float.parseFloat(etNum10.getText().toString());
        num20 = Float.parseFloat(etNum20.getText().toString());
        num30 = Float.parseFloat(etNum30.getText().toString());

     // defines the button that has been clicked and performs the corresponding operation
        switch (v.getId()) {
        case R.id.btnNrj:
          oper = "";
          result = (float) ((nrjspinner * ((num10 * num20) / num30))*0.001);
          break;
        default:
          break;