Java 当我在android emulator上运行我的应用程序时,它崩溃了,尽管我的代码中没有错误
原因: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活动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
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);