Java 当我在android emulator上运行我的应用程序时,它崩溃了,尽管我的代码中没有错误

Java 当我在android emulator上运行我的应用程序时,它崩溃了,尽管我的代码中没有错误,java,android,android-studio,nullpointerexception,Java,Android,Android Studio,Nullpointerexception,原因:java.lang.NullPointerException:试图在com.example.temperaturecricket.MainActivity.onCreate(MainActivity.java:25)上的空对象引用上调用虚拟方法“android.view.view android.widget.EditText.findViewById(int)”。 这就是它突出显示我的错误的地方。 这是我的全部密码 `包com.example.temperaturecricket 导入a

原因:java.lang.NullPointerException:试图在com.example.temperaturecricket.MainActivity.onCreate(MainActivity.java:25)上的空对象引用上调用虚拟方法“android.view.view android.widget.EditText.findViewById(int)”。

这就是它突出显示我的错误的地方。

这是我的全部密码

`包com.example.temperaturecricket

导入androidx.appcompat.app.appcompat活动

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.text.DecimalFormat;

public class MainActivity extends AppCompatActivity {

    EditText etChirps;
    Button btnCalculate;
    TextView tvResults;
    DecimalFormat formatter;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        etChirps = findViewById(R.id.etChirps);

        btnCalculate.findViewById(R.id.btnCalculate);
        tvResults.findViewById(R.id.tvResults);

        tvResults.setVisibility(View.GONE);
            formatter=new DecimalFormat("#0.0");
        btnCalculate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                if(etChirps.getText().toString().isEmpty())
                {
                    Toast.makeText(MainActivity.this,"Please Enter All fields ",Toast.LENGTH_SHORT).show();
                }
                else
                {
                    int chirps=Integer.parseInt(etChirps.getText().toString().trim());
                    double temp=(chirps/3.0)+4;
                    String result="The Approx Temperature outside is : "+formatter.format(temp)+" Degree Celsius";
                    tvResults.setText(result);
                    tvResults.setVisibility(View.VISIBLE);
                }

            }
        });
    }


}'
问题是:

 etChirps.findViewById(R.id.etChirps);
如果要查找具有id的视图,请使用:
View=findviewbyd(R.id.viewId)而不是
view.findViewById(R.id.viewId)

在您的情况下,您应该使用:

 etChirps = findViewById(R.id.etChirps);
 btnCalculate = findViewById(R.id.btnCalculate);
 tvResults = findViewById(R.id.tvResults);

张贴代码的相关部分,例如
etChirps.findViewById(R.id.etChirps)
isi我尝试过这个方法,但仍然存在问题,我已经在上面发布了我的全部代码。请仔细阅读。thxTextView(tvResults)和按钮(btnCalculate)也有同样的问题,非常感谢。,
 etChirps = findViewById(R.id.etChirps);
 btnCalculate = findViewById(R.id.btnCalculate);
 tvResults = findViewById(R.id.tvResults);