Rechen Operation stürzt ab

  • Antworten:11
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 47

17.06.2018, 12:18:17 via Website

Hi,

ich habe einen Code geschrieben aber das Programm stürzt immer ab woran liegt das?

    int a;
    a = 16;

    int b = 20;

    int testTest = a + b;

    System.out.println(a);
    //Toast.makeText(getApplicationContext(), a, Toast.LENGTH_LONG).show();
    TextView testView = findViewById(R.id.ergebnisGeburtstag);
    testView.setText(testTest);

Danke im Voraus!

Diskutiere mit!
  • Forum-Beiträge: 47

17.06.2018, 12:23:40 via Website

Wenn ich den Code so änder:

    int a;
    a = 16;

    int b = 20;

    int testTest = a + b;

    System.out.println(testTest);
    //Toast.makeText(getApplicationContext(), testTest, Toast.LENGTH_LONG).show();
    //TextView testView = findViewById(R.id.ergebnisGeburtstag);
    //testView.setText(testTest);

Dann funktioniert das, aber dann wird es nicht dem User ausgegeben.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 47

17.06.2018, 12:28:01 via Website

Ich bekomme das ausgegeben, wenn die App abstürzt:

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.eyyup.mustafaturhan, PID: 10774
              java.lang.IllegalStateException: Could not execute method for android:onClick
                  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:389)
                  at android.view.View.performClick(View.java:6199)
                  at android.widget.TextView.performClick(TextView.java:11090)
                  at android.view.View$PerformClick.run(View.java:23647)
                  at android.os.Handler.handleCallback(Handler.java:751)
                  at android.os.Handler.dispatchMessage(Handler.java:95)
                  at android.os.Looper.loop(Looper.java:154)
                  at android.app.ActivityThread.main(ActivityThread.java:6682)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
               Caused by: java.lang.reflect.InvocationTargetException
                  at java.lang.reflect.Method.invoke(Native Method)
                  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384)
                  at android.view.View.performClick(View.java:6199) 
                  at android.widget.TextView.performClick(TextView.java:11090) 
                  at android.view.View$PerformClick.run(View.java:23647) 
                  at android.os.Handler.handleCallback(Handler.java:751) 
                  at android.os.Handler.dispatchMessage(Handler.java:95) 
                  at android.os.Looper.loop(Looper.java:154) 
                  at android.app.ActivityThread.main(ActivityThread.java:6682) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 
               Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x24
                  at android.content.res.Resources.getText(Resources.java:1178)
                  at android.widget.TextView.setText(TextView.java:5163)
                  at com.example.eyyup.mustafaturhan.MainActivity.recheGeburtsdatum(MainActivity.java:44)
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384) 
                  at android.view.View.performClick(View.java:6199) 
                  at android.widget.TextView.performClick(TextView.java:11090) 
                  at android.view.View$PerformClick.run(View.java:23647) 
                  at android.os.Handler.handleCallback(Handler.java:751) 
                  at android.os.Handler.dispatchMessage(Handler.java:95) 
                  at android.os.Looper.loop(Looper.java:154) 
                  at android.app.ActivityThread.main(ActivityThread.java:6682) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 

Application terminated.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 47

17.06.2018, 13:06:06 via Website

Was ist dann hier mein Fehler? Ist das nicht das selbe Prinzip?

        // Jahr def. + String
    EditText heutigesJahr = findViewById(R.id.heutigesJahr);
    int heutigesJahrString = Integer.valueOf(heutigesJahr.getText().toString());

    // Monat def. + String
    EditText heutigerMonat = findViewById(R.id.heutigerMonat);
    int heutigerMonatString = Integer.valueOf(heutigerMonat.getText().toString());

    // Tag def. + String
    EditText heutigerTag = findViewById(R.id.heutigerTag);
    int heutigerTagString = Integer.valueOf(heutigerTag.getText().toString());


    int ergebnisJahr = heutigesJahrString - 2005;
    int ergebnisMonat= heutigerMonatString - 3;
    int ergebnisTag = heutigerTagString - 25;

    //Toast.makeText(getApplicationContext(), ergebnisJahr, Toast.LENGTH_LONG).show();
    //Toast.makeText(getApplicationContext(), ergebnisMonat, Toast.LENGTH_LONG).show();
    //Toast.makeText(getApplicationContext(), ergebnisTag, Toast.LENGTH_SHORT).show();

    TextView ergebnisJahrText = findViewById(R.id.ergebnisGeburtstag);
    //ergebnisJahrText.setText(ergebnisJahr + "Jahre!");
    ergebnisJahrText.setText(Integer.toString(heutigesJahr) - 2005);
Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 47

17.06.2018, 17:44:42 via Website

Ist anscheind der selbe Code wie oben weil ich diese Nachricht bekomme: „Deine Nachricht wurde zurückgewiesen, da Du kürzlich eine andere Nachricht mit zum Teil identischem Inhalt gepostet hast."

Hilfreich?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.182

17.06.2018, 19:11:17 via App

Ddr ErrorLog ist aber != Code ;)

Schau dir mal LogCat an, was da Rot ist.

— geändert am 17.06.2018, 19:11:25

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 487

18.06.2018, 07:37:38 via Website

Hallo mische mich hier mal ein.
also die „setText()“ Methode erwartet einen String du übergibst einen „int“ und keinen „String“.

Ludy hat dir gezeigt wie man einen “int“ in einen „String“ umwandelt.

Probier mal so
testView.setText(Integer.toString(testTest));

bei deinem letzten Code

ergebnisJahrText.setText(Integer.toString(heutigesJahr) - 2005);

muss das Jahr "-2005" mit in die Klammer
ergebnisJahrText.setText(Integer.toString(heutigesJahr - 2005));

— geändert am 18.06.2018, 08:19:02

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 47

18.06.2018, 17:05:03 via Website

Danke, das hat geholfen. Kann man nicht mehrere Strings in einem ausgeben lassen?

Mein Code:

// Textausgabe
    TextView ergebnisJahrText = findViewById(R.id.ergebnisGeburtstag);
    ergebnisJahrText.setText(Integer.toString(ergebnisJahr) + "Jahr, " Integer.toString(ergebnisMonat) + "Monate und " Integer.toString(ergebnisTag) + "Tage!");
Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 47

18.06.2018, 17:15:27 via Website

Kemal Ince

Danke, das hat geholfen. Kann man nicht mehrere Strings in einem ausgeben lassen?

Mein Code:

// Textausgabe
    TextView ergebnisJahrText = findViewById(R.id.ergebnisGeburtstag);
    ergebnisJahrText.setText(Integer.toString(ergebnisJahr) + "Jahr, " Integer.toString(ergebnisMonat) + "Monate und " Integer.toString(ergebnisTag) + "Tage!");

hat sicher erledigt habe das + da zwischen vergessen, mein jetzige Code:

ergebnisJahrText.setText(Integer.toString(ergebnisJahr) + " Jahre, " + Integer.toString(ergebnisMonat) + " Monate und " +Integer.toString(ergebnisTag) + " Tage!");
Hilfreich?
Diskutiere mit!

Empfohlene Artikel