Announcement

Collapse
No announcement yet.

Button erscheinen lassen, Benutzereingabe Speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Button erscheinen lassen, Benutzereingabe Speichern

    Hallo Community,

    Irgendwie verstehe ich das Android-Programmieren einfach nicht. Dennoch möchte ich diesen kleinen Vokabeltrainer noch fertig bekommen.
    Habe auch schon einen groben Plan, wie dass alles Funktionieren sollte...

    Folgende Fragen sind jedoch noch offen.

    - Wie kann ich einen Text der xml. Datei in den Wert einer String-Variable ändern
    - Wie kann ich den eingegeben Text einer EditTexts in eine Variable (eingabe) speichern
    - Wie kann ich einen 'Weiter'-Button erscheinen lassen, der nach dem Drücken eine Variable auf 1 Setzt und dann wieder verschwindet

    ansonsten hoffe ich dass mein Code bislang halbwegs passt. Verständlich konnte ich ihn noch nciht so ganz testen, da nunmal noch einige Aspekte fehlen. Muss wohl auch noch sehr viel lernen...

    Hier ist der Code: (.java-Datei)

    Code:
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    
    import java.lang.reflect.Array;
    import java.util.Random;
    
    public class endeActivity extends Activity {
    
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_ende);
    
            Button ende = (Button) findViewById(R.id.button5);
            ende.setOnClickListener(new View.OnClickListener(){
                public void onClick(View view) {
                    Intent intent=new Intent();
                    setResult(RESULT_OK, intent);
                    finish();
                }
            });
            Button next = (Button) findViewById(R.id.button4);
            next.setOnClickListener(new View.OnClickListener(){
                public void onClick(View view) {
                    abfrage();
                }
            });
        }
        public void abfrage()
        {
            do {
                String engWord = "";
                String deWord = "";
                String eingabe = "";
                String[] vok = {"Vokabel1", "Vokabel2", "Vokabel3"};
                Random rnd = new Random();
                int nbr = rnd.nextInt(vok.length);
                if (nbr % 2 != 0) {
                    nbr = nbr + 1;
                }
                engWord = vok[nbr];
                deWord = vok[nbr + 1];
                /*Textausgabe*/("Englisch: " + engWord);
                eingabe = /*Benutzereingabe*/;
                if (eingabe == deWord) {
                    /*Textausgabe*/("Korrekt");
                } else {
                    /*Textausgabe*/("Falsch! Korrekt:" + deWord);
                }
                /*Weiter-Button anzeigen lassen, welcher beim betätigen den wert von 'weiter' auf 1 setzt*/
            }while(weiter==1);
        }
    }
    Und noch der 2. Code (.xml-Datei):
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#999999"
        tools:context=".MainActivity">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Englisch - Deutsch"
            android:id="@+id/textView1"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="@string/engWord"
            android:id="@+id/textView3"
            android:layout_marginTop="69dp"
            android:layout_below="@+id/textView1"
            android:layout_centerHorizontal="true" />
    
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/editText"
            android:layout_marginTop="59dp"
            android:background="#BBBBBB"
            android:layout_below="@+id/textView3"
            android:layout_alignLeft="@+id/textView5"
            android:layout_alignStart="@+id/textView5" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Deutsch:"
            android:id="@+id/textView4"
            android:layout_alignTop="@+id/editText"
            android:layout_toLeftOf="@+id/textView1"
            android:layout_toStartOf="@+id/textView1" />
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Testen"
            android:id="@+id/button3"
            android:layout_below="@+id/editText"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Antwort_status"
            android:id="@+id/textView5"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true" />
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Weiter"
            android:id="@+id/button4"
            android:layout_alignParentBottom="true"
            android:layout_alignRight="@+id/button3"
            android:layout_alignEnd="@+id/button3" />
    
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Zurück"
            android:id="@+id/button5"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    
    </RelativeLayout>
    Ich hoffe auf Hilfe, möglichst verständlich, sodass ich auch gleichzeitig evtl. noch lerne wieso ich dass so machen sollte, wie ihr es mir raten würdet ;D

    Danke schonmal im Voraus
    Tobias

  • #2
    1. unverständlich -> editiere die XML-Datei
    2.http://developer.android.com/referen.../EditText.html
    -> getText(). String eingabe= ..editText.getText();
    3. http://developer.android.com/referen...et/Button.html
    -> setVisibility(false). Das im onclick ändern und deine Variable setzen
    Zuletzt editiert von Christian Marquardt; 24.05.2015, 15:53.
    Christian

    Comment


    • #3
      Kann ich den Code dann einfach in die xml kopieren oder muss ich da ne andere Prog.sprache nehmen .. Android verwirrt mich zu sehr. . .

      Comment


      • #4
        Du kannst sicher keinen Code in irgendwelche XML schreiben
        Christian

        Comment


        • #5
          Originally posted by Christian Marquardt View Post
          1. unverständlich -> editiere die XML-Datei
          Darum komme ich auf diesen Gedanken?!

          Comment


          • #6
            Du kannst


            android:text="Englisch - Deutsch"

            mit

            android:text="Englisch - Griechisch"

            ändern, aber kein Programmcode
            Christian

            Comment


            • #7
              Hallo,
              Originally posted by AroundMinecraft View Post
              Wie kann ich einen Text der xml. Datei in den Wert einer String-Variable ändern
              Ich wüsste keinen vernünftigen Grund, warum man das tun sollte! Prinzipiell ist es wohl auch nicht vorgesehen, die Resourcen eines Android-Programmes im Nachhinnein durch das Programm selbst zu ändern. Warum auch?

              Originally posted by AroundMinecraft View Post
              Irgendwie verstehe ich das Android-Programmieren einfach nicht.
              Ich würde eher denken, dir fehlen allgemeine Grundlagen in der Programmierung Ereignisbasierter Anwendungen. Deine do ... while(weiter=1) - Schleife ist ein typischer Anfänger-Denkfehler und wird so in KEINER Objektorientierten Sprache funktionieren - zumindest nicht in dem von dir gedachten Sinne!
              Du wirst keinen Befehl finden, der dir einen Button anzeigt und anschließend das Programm anhält, bis dieser gedrückt wird, damit die Schleife fortgesetzt werden kann! Die Logik hinter einer ereignis- und anwendergesteuerten Anwendung ist eine Andere!


              Originally posted by AroundMinecraft View Post
              ... ansonsten hoffe ich dass mein Code bislang halbwegs passt.
              Nein, macht er nicht! s.O.
              Originally posted by AroundMinecraft View Post
              Muss wohl auch noch sehr viel lernen...
              Ja!

              Gruß Falk
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment


              • #8
                Ich habe in der XML einen Text definiert, welchen ich dann in die zufällig ausgewählte Vokabel aus dem String-array ändere, sodass dieser Text dauerhaft sichtbar ist. Einen Vokabeltrainer eben. wie könnte ich diese App dann umsetzen?

                Comment


                • #9
                  Schau doch einfach hier durch:

                  http://developer.android.com/training/index.html

                  Da gibt es viele einfache Erklaerungen wie man ueberhaupt eine Anwendung in Android baut.

                  Die Herren vor mir haben komplett recht dass man in einer ereignisbasierten Anwendung keine Endlosschleife bauen darf. Die Kernschleife deines Programms ist schon in dem UI Framework verbaut. Dieses kuemmert sich auch ums Zeichnen der Komponenten (Buttons, Textfield...) und schickt Dir in die Code nur Events falls der Benutzer mit der Oberflaeche interagiert.

                  Comment


                  • #10
                    Dann versuch ich's mal anders...
                    Hoffentlich klappt es irgendwann ;D

                    Comment

                    Working...
                    X