Просто пробую мое второе приложение, но получаю ошибку «К сожалению, ваше приложение остановлено» .. ошибка, вызванная android .widget.Button.setOnClickListener - PullRequest
0 голосов
/ 13 марта 2020
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: 04.993 5251-5256 /? E / art: Не удалось отправить ответ отладчику: сломанная труба 03-13 17: 44: 05.075 5251-5251 /? E / AndroidRuntime: FATAL EXCEPTION: main Процесс: com.example.medreminder, PID: 5251 java .lang.RuntimeException: Невозможно запустить действие ComponentInfo {com.example.medreminder / com.example.medreminder.MainActivity}: java* ActivityThread. java: 2416) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 2476) в android .app.ActivityThread.-wrap11 (ActivityThread. java) в android. app.ActivityThread $ H.handleMessage (ActivityThread. java: 1344) в android .os.Handler.dispatchMessage (Обработчик. java: 102) в android .os.Looper.l oop (Looper . java: 148) в android .app.ActivityThread.main (ActivityThread. java: 5417) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal .os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit. java: 726) в com. android .int ernal.os.ZygoteInit.main (ZygoteInit. java: 616) Вызывается: java .lang.NullPointerException: попытка вызвать виртуальный метод 'void android .widget.Button.setOnClickListener (android .view. Просмотрите $ OnClickListener) 'для нулевой ссылки на объект в 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 (ActivityThread. java: 2369) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 2476) в android .app.ActivityThread.-wrap11 (ActivityThread. java) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 1344) в android .os .Handler.dispatchMessage (Обработчик. java: 102) в android .os.Looper.l oop (Looper. java: 148) в android .app.ActivityThread.main (ActivityThread. * 1053). *: 5417) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.ZygoteInit $ MethodAnd ArgsCaller.run (ZygoteInit. java: 726) на com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 616)

1 Ответ

0 голосов
/ 15 марта 2020

Вы пытаетесь вызвать setOnClickListener для пустой ссылки на объект. Ваш submitbutton имеет значение null.

Вы делаете это дважды -

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

Сделайте это один раз submitbutton = (Кнопка) findViewById (R.id.submitbutton);

...