java.lang.NullPointerException:尝试调用虚拟方法android

java.lang.NullPointerException:尝试调用虚拟方法android,android,Android,我是android的初学者,我不知道我的代码有什么问题!我需要你的帮助,这是我的密码: 我正在尝试做一个计算器=-/*。。。。。例如,我删除了if view==pbtn…只是为了尝试onclick函数…我找不到我的问题所在 package com.michael.mikematta.calculator; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android

我是android的初学者,我不知道我的代码有什么问题!我需要你的帮助,这是我的密码: 我正在尝试做一个计算器=-/*。。。。。例如,我删除了if view==pbtn…只是为了尝试onclick函数…我找不到我的问题所在

package com.michael.mikematta.calculator;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import static com.michael.mikematta.calculator.R.id.FirstNum;
import static com.michael.mikematta.calculator.R.id.HelokBtn;
import static com.michael.mikematta.calculator.R.id.KafolBtn;
import static com.michael.mikematta.calculator.R.id.MinusBtn;
import static com.michael.mikematta.calculator.R.id.PlusBtn;
import static com.michael.mikematta.calculator.R.id.SecondNum;
import static com.michael.mikematta.calculator.R.id.TheResult;


public class MainActivity extends Activity implements View.OnClickListener {

    EditText firstnumx;
    EditText secondnum;
    Button pbtn;
    Button minusbtn;
    Button kafolbtn;
    Button helokbtn;
    TextView theresult;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button pbtn = (Button) findViewById(R.id.PlusBtn);
        Button minusbtn = (Button) findViewById(R.id.MinusBtn);
        Button kafolbtn = (Button) findViewById(R.id.KafolBtn);
        Button helokbtn = (Button) findViewById(R.id.HelokBtn);
        EditText firstnum = (EditText) findViewById(R.id.FirstNum);
        EditText secondnum = (EditText) findViewById(R.id.SecondNum);
        TextView theresult = (TextView) findViewById(R.id.TheResult);

        minusbtn.setOnClickListener(this);
        pbtn.setOnClickListener(this);
        kafolbtn.setOnClickListener(this);
        helokbtn.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {


        theresult.setText("hi");


    }
}
我的xml:

 <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/ic_launcher"
        android:orientation="vertical"

        tools:context=".MainActivity">

        <TextView
            android:text="Hello Calculator"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center"
            android:textSize="20dp"
            android:textColor="#000"
            android:textStyle="bold"
            />
        <EditText
            android:layout_width="200dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:hint="Enter First Num"
            android:background="#fff"
            android:id="@+id/FirstNum"
            android:layout_margin="10dp"
            />
        <EditText
            android:layout_width="200dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:hint="Enter Second Num"
            android:background="#fff"
            android:id="@+id/SecondNum"
            android:layout_margin="10dp"
            />
        <Button
            android:layout_width="200dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="+"
            android:background="#ffeeeeee"
            android:textSize="22dp"
            android:id="@+id/PlusBtn"
            android:layout_margin="10dp"
            />
        <Button
            android:layout_width="200dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="-"
            android:background="#ffeeeeee"
            android:textSize="22dp"
            android:id="@+id/MinusBtn"
            android:layout_margin="10dp"
            />
        <Button
            android:layout_width="200dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="*"
            android:background="#ffeeeeee"
            android:textSize="22dp"
            android:id="@+id/KafolBtn"
            android:layout_margin="10dp"
            />
        <Button
            android:layout_width="200dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:text="/"
            android:background="#ffeeeeee"
            android:textSize="22dp"
            android:id="@+id/HelokBtn"
            android:layout_margin="10dp"
            />
        <TextView
            android:text="Here will be your result"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:gravity="center"
            android:textSize="20dp"
            android:textColor="#fff"
            android:textStyle="bold"
            android:background="#ffff714f"
            android:id="@+id/TheResult"
            />

    </LinearLayout>

有什么帮助吗?

您正在初始化变量的本地副本
结果
onCreate
中:

TextView theresult = (TextView) findViewById(R.id.TheResult);
但是在
onClick
中,您试图访问变量
theresult
的另一个实例,该变量在
onCreate
之外声明。这个还没有初始化。这就是为什么在您尝试执行
setText
时将其giving设为null

要解决此问题,请替换以下行:

TextView theresult = (TextView) findViewById(R.id.TheResult);


检查您是否已初始化视图,或者可能是布局尚未附加到“活动”

    password = (EditText) findViewById(R.id.password);


什么问题?正确解释。单击应用程序崩溃@SarveshKumarSinghwhere是来自LogCat的错误日志@MikhaMatta:首先,删除
R.id
条目的
import static…
的所有行。谁让你这么做的?第二,发布您的
activity\u main.xml
文件以及显示崩溃的Logcat stacktrace。我想我找到了错误。@MikhaMatta尝试回答中的解决方案,并告诉我它是否有效。
theresult = (TextView) findViewById(R.id.TheResult);
    password = (EditText) findViewById(R.id.password);
setContentView(R.layour.login_screen);