只是尝试我的第二个应用程序,但"Unfortunately your app has stopped"出现错误..由 android.widget.Button.setOnClickListener


package com.example.medreminder;
import androidx.appcompat.app.AppCompatActivity;``
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
String MedecineName;
int DailyDozage , NoOfPiecesBought;
EditText medecinename;
EditText dailydozage;
EditText noofpiecesbought;
Button submitbutton = (Button) findViewById(R.id.submitbutton);


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
medecinename = (EditText) findViewById(R.id.medecinename);
dailydozage = (EditText) findViewById(R.id.dailydozage);
noofpiecesbought = (EditText) findViewById(R.id.noofpiecesbought);
submitbutton = findViewById(R.id.submitbutton);
submitbutton = (Button) findViewById(R.id.submitbutton);
submitbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MedecineName = medecinename.getText().toString();
DailyDozage =Integer.valueOf(dailydozage.getText().toString());
NoOfPiecesBought = Integer.valueOf(noofpiecesbought.getText().toString());

showToast(MedecineName);
showToast(String.valueOf(DailyDozage));
showToast(String.valueOf( NoOfPiecesBought));
}
});
}
private void showToast(String Text)
{
Toast.makeText(MainActivity.this, Text , Toast.LENGTH_SHORT).show();
}

}

__________________________________________LOGCAT __________________________________________________________________________________________________________________________________________________________________

03-13 17:44:993年4月5251-5256/?E/art:向调试器发送回复失败:管道破裂03-13 17:44:05.075 5251-5251/?E/AndroidRuntime:致命异常:main流程:com.example.medreminder,PID:5251java.lang.RuntimeException:无法启动活动ComponentInfo{com.example.medreminder/com.example.medereminder.MainActivity}:java.lang.NullPointerException:尝试在null对象引用上调用虚拟方法"void android.widget.Button.setOnClickListener(android.view.view$OnClickListen("在android.app.ActivityThread.performLaunchActivity(ActivityThreads.java:2416(在android.app.ActivityThread.handleLaunchActivity(ActivityThreads.java:2476(在android.app.ActivityThread.-wrap11(ActivityThreads.java(在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:1344(在android.os.Handler.dispatchMessage(Handler.java:102(在android.os.Looper.loop(Looper.java:148(在android.app.ActivityThread.main(ActivityThreads.java:5417(位于java.lang.reflect.Method.ioke(本机方法(网址:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726(网址:com.android.internal.os.ZygoteInit.main(ZygoteNit.java:616(引起原因:java.lang.NullPointerException:试图在null对象引用上调用虚拟方法"void android.widget.Button.setOnClickListener(android.view.view$OnClickListen("网址:com.example.medreminder.MainActivity.onCreate(MainActivity.java:36(在android.app.Activity.performCreate(Activity.java:6237(在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107(在android.app.ActivityThread.performLaunchActivity(ActivityThreads.java:2369(在android.app.ActivityThread.handleLaunchActivity(ActivityThreads.java:2476(在android.app.ActivityThread.-wrap11(ActivityThreads.java(在android.app.ActivityThread$H.handleMessage(ActivityThreads.java:1344(在android.os.Handler.dispatchMessage(Handler.java:102(在android.os.Looper.loop(Looper.java:148(在android.app.ActivityThread.main(ActivityThreads.java:5417(位于java.lang.reflect.Method.ioke(本机方法(网址:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726(网址:com.android.internal.os.ZygoteInit.main(ZygoteNit.java:616(

您正试图对null对象引用调用setOnClickListener。您的submitbutton指的是null。

你做了两次-

submitbutton =findViewById(R.id.submitbutton);
submitbutton = (Button) findViewById(R.id.submitbutton);

一次性执行submitbutton=(Button(findViewById(R.id.submitbutton(;

最新更新