Android App stürtz nach Neustart ab: Android Studio Java

K

KuehlesBlondes

Neues Mitglied
0
Guten Tag,
ich versuche mich an meiner zweiten App und versuche etwas mit den SharedPreferenses zu Spielen. Die App soll nur einen Dynamischen Button enthalten der beim Drücken ein neues Menü öffnet und Dort können dann Daten eingeben werden und über zwei neue Buttons gespeicher bzw gelöscht werden. Die App dient nur dazu sich etwas mit den Dynamischen Widgets und der Speicherrung von Daten zu beschäftigen.
Ablauf
1. Button b1 öffnet das Menü was Dynamsich erzeugt wird zum Speichern der Daten
2. Danten können mit hilfe von edittext eingeben werden
3. Mit dem Button save2 gespeichert und mit Button delete3 gelöscht werden.
4. Die App wird von usere Beendet und neugestartet und der User soll nun die Daten wiederfinden können

Nach beenden des Users lässt sich die App nciht mehr starten und durch das Beenden ist auch keine Debugging oder Terminal fehler ausslesen möglich gibt es dazu eine Möglichkeit. Kann jmd vl mal über den Code schauen und sagen wo es bä ist?

Ich bedanke mich bei euch!!!

Update ich habe mal Probiert das Problem, indem ich den Code einfach Ausgeklammert habe, einzugrenzen nun ist das Verrückte ich habe den Code bis auf

Javascript:
package android.dr.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //parent = (LinearLayout) findViewById(R.id.ll1);
        //parent.setOrientation(LinearLayout.VERTICAL);
        //myButtons = (LinearLayout) getLayoutInflater().inflate(R.layout.del_save, null);
    }}

Eingegrenzt Trozdem Stürtz die App nach Neustarten ab.
Daher glaube ich das es an der XML datei liegt.

XML:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:id="@+id/ll1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="8dp"
        android:orientation="vertical"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="MissingConstraints">


    </LinearLayout>


</androidx.constraintlayout.widget.ConstraintLayout>


Javascript:
package android.dr.myapplication;


import androidx.appcompat.app.AppCompatActivity;


import android.app.ActionBar;

import android.content.Context;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.text.InputType;

import android.text.method.ScrollingMovementMethod;

import android.view.View;

import android.view.inputmethod.EditorInfo;

import android.widget.Button;

import android.widget.EditText;

import android.widget.LinearLayout;

import android.widget.MultiAutoCompleteTextView;

import android.widget.Toast;


public class MainActivity extends AppCompatActivity {

    LinearLayout parent;

    LinearLayout myButtons;

    String eingabe;


    [USER=3517]@override[/USER]

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        myButtons=(LinearLayout)getLayoutInflater().inflate(R.layout.del_save,null);

        Button b1 = new Button(this);

        parent = (LinearLayout) findViewById(R.id.ll1);

        parent.setOrientation(LinearLayout.VERTICAL);


        b1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));

        b1.setId((int)1);

        b1.setText("New CodeStore");

        b1.setTag(1);

        b1.setWidth(LinearLayout.LayoutParams.MATCH_PARENT);

        parent.addView(b1);

        b1.setOnClickListener(new View.OnClickListener() {

            [USER=3517]@override[/USER]

            public void onClick(View v) {

                displayCodeStore();

            }

        });


    }





  public void displayCodeStore() {

      SharedPreferences Prefs;

      final SharedPreferences.Editor PerfSEditor;

      final EditText edittext;


      Button save2 = new Button(this), delete3 = new Button(this);

      parent.removeAllViews();

      Prefs = this.getSharedPreferences("data", MODE_PRIVATE);

      PerfSEditor = Prefs.edit();


      //EditText

      edittext = new EditText(this);

      edittext.setSingleLine(false);

      edittext.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);

      edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE);

      edittext.setLines(5);

      edittext.setMaxLines(8);

      edittext.setVerticalScrollBarEnabled(true);

      edittext.setMovementMethod(ScrollingMovementMethod.getInstance());

      edittext.setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET);

      edittext.setHint(Prefs.getString("gespeichert", "Kein Text gespeichert"));


      //Buttons

      parent.addView(edittext);

      parent.addView(myButtons);

      save2 = findViewById(R.id.save2);

      delete3 = findViewById(R.id.delete3);

      save2.setOnClickListener(new View.OnClickListener() {

          [USER=3517]@override[/USER]

          public void onClick(View v) {


              if (edittext.getText().length() > 0) {

                  eingabe = edittext.getText().toString();

                  PerfSEditor.putString("gespeichert", eingabe);


                  Toast.makeText(getApplicationContext(), "gespeichert wurde: " + eingabe + "", Toast.LENGTH_SHORT).show();

              } else {

                  Toast.makeText(getApplicationContext(), "Kein Text zum Speichern", Toast.LENGTH_LONG).show();

              }

          }

      });

      delete3.setOnClickListener(new View.OnClickListener() {

          [USER=3517]@override[/USER]

          public void onClick(View v) {

              Toast.makeText(getApplicationContext(), "Delete Geht", Toast.LENGTH_LONG).show();

          }

      });


  }}
 
Zuletzt bearbeitet:
@KuehlesBlondes
Herzlich willkommen im Forum!
Packe deinen Quelltext am besten als Code in deinen Beitrag, dann kann man es besser lesen, kannste mit dem Untermenü hinter den 3 Punkten aufrufen, dort dann neu reinkopieren und als Sprache in dem Fall Java auswählen.
 
  • Danke
Reaktionen: KuehlesBlondes und Wattsolls
@Marcel Danke ist gemacht!!
Beiträge automatisch zusammengeführt:

@Marcel Kann ich irgendwie Zeilennummern einfügen?
 
Zuletzt bearbeitet:

Ähnliche Themen

D
Antworten
23
Aufrufe
2.542
Data2006
D
5
Antworten
0
Aufrufe
1.150
586920
5
SaniMatthias
Antworten
19
Aufrufe
959
swa00
swa00
Zurück
Oben Unten