1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. rellik, 28.06.2018 #1
    rellik

    rellik Threadstarter Neuer Benutzer

    Hallo Leute

    Ich habe eine Frage hab folgenden Code

    Meine MainActivity
    Code:
     package com.example.km4l.myapplication;
    
    import android.content.Context;
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
    
        private static int  zahl = 0;
        final Context context = this;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            initListeners();
        }
    
        private void initListeners (){
    
            Button btnTraining = (Button) findViewById(R.id.btnTraining);
    
            final LinearLayout linearlayout = (LinearLayout) findViewById(R.id.myLinearLayout);
    
            btnTraining.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                    //eigenen code
                    System.out.println("Test");
    
                    String text = "Neue Trainingseinheit";
    
    
    
    
    
                        TextView tv = new TextView(context);
    
                        linearlayout.addView(tv);
    
                        tv.setText(text +zahl);
                        tv.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
    
                                gotoTraining(view);
                            }
                        });
                        zahl++;
    
                }
            });
    
        }
    
        public void gotoTraining (View view){
            Intent intent = new Intent(this, TrainingsActivity.class);
            intent.putExtra("Zahl", zahl);
            startActivity(intent);
        }
    } 
    MainActivity Design
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.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">
    
        <Button
            android:id="@+id/btnTraining"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="16dp"
            android:text="Trainingseinheit hinzufuegen"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
        <LinearLayout
            android:id="@+id/myLinearLayout"
            android:layout_width="368dp"
            android:layout_height="431dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="24dp"
            android:orientation="vertical"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/btnTraining">
    
        </LinearLayout>
    </android.support.constraint.ConstraintLayout>
    Nach jedem Klick auf den Button erstelle ich ein TextView mit Trainingsprogramm und eine zahl die ich hoch zähle nach 4 mal klicken habe ich 4 TextViews. Die Textview hab ich mit einem onClickListener versehen und möchte gerne wenn ich auf den Klicke das der Text z.B Trainingsprogramm 3 im neuen Activity im TextView angezeigt wird. Wie kann ich dies schaffen??
     
  2. jogimuc, 28.06.2018 #2
    jogimuc

    jogimuc Android-Hilfe.de Mitglied

    Hallo
    Wird denn die zweite activity auch gestartet?
    Müsste eigentlich.
    In der zweiten activty musst du den übergeben Wert wieder aus dem intent auslesen.

    int zahl = getIntent().getIntExtra("Zahl");

    Nur denke ich wird nicht unbedingt der richtige wert zahl übergeben werden.
    .Denn beim Intent greifst du auf die globale variable "zahl" zu die steht nach 4 mal klicken auf 4. Wenn du nun die zweite view klickst wird die 4 übergeben und nicht zwei.

    Du könntest den Text aus der Textview auslesen und den übergeben.
     
    Zuletzt bearbeitet: 28.06.2018
  3. rellik, 29.06.2018 #3
    rellik

    rellik Threadstarter Neuer Benutzer

    Das funktioniert nicht wie soll denn der code aussehen im zweiten activity


    ja genau das problem habe ich will aber die zwei übergeben und nicht die 4
     
    Zuletzt bearbeitet: 29.06.2018
  4. jogimuc, 29.06.2018 #4
    jogimuc

    jogimuc Android-Hilfe.de Mitglied

    Hi ich sagte du kannst dir die Zahl aus dem TextView was du klickst holen und zwar aus der View.
    geht in etwa so.

    public void gotoTraining (View view){
    TextView tv1 = (TextView) view;
    String st = (String) tv1.getText();
    st = st.substring("Neue Trainingseinheit".length(),st.length());

    Intent intent = new Intent(this, TrainingsActivity.class);
    intent.putExtra("Zahl", Integer.valueOf(st));
    startActivity(intent);
    }
     
  5. rellik, 29.06.2018 #5
    rellik

    rellik Threadstarter Neuer Benutzer

    stürzt ab :(
     
  6. jogimuc, 29.06.2018 #6
    jogimuc

    jogimuc Android-Hilfe.de Mitglied

    Hallo
    also etwas genauer könntest du schon schreiben. Nur zwei Worte mehr sind wir wohl nicht wert.
    Bei mir läuft es. Ich habe deinen code in ein Projeckt geladen und getestet.
    Dann zeige mal wie es jetzt bei dir aus sieht .
     
  7. rellik, 29.06.2018 #7
    rellik

    rellik Threadstarter Neuer Benutzer

    Code:
    public class MainActivity extends AppCompatActivity {
    
        private static int  zahl = 0;
        final Context context = this;
       
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            initListeners();
        }
    
        private void initListeners (){
    
            Button btnTraining = (Button) findViewById(R.id.btnTraining);
    
            final LinearLayout linearlayout = (LinearLayout) findViewById(R.id.myLinearLayout);
    
            btnTraining.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                    //eigenen code
                    String text = "Neue Trainingseinheit";
    
    
    
    
    
                    final TextView tv = new TextView(context);
    
                    linearlayout.addView(tv);
    
    
    
                    tv.setText(text +zahl);
    
    
                                    tv.setOnClickListener(new View.OnClickListener() {
    
    
                        @Override
                        public void onClick(View view) {
    
    
    
    
    
                            gotoTraining(view);
                        }
                    });
                    zahl++;
    
                }
            });
    
        }
    
    
    
    
        public void gotoTraining (View view){
            TextView tv1 = (TextView) view;
            String st = (String) tv1.getText();
            st = st.substring("Neue Trainingseinheit".length(),st.length());
    
            Intent intent = new Intent(this, TrainingsActivity.class);
            intent.putExtra("Zahl", Integer.valueOf(st));
            startActivity(intent);
        }
    
    Das ist meine mainactivity

    und das was jetzt kommt als code meine zweite activity

    Code:
    public class TrainingsActivity extends AppCompatActivity {
    
        Intent intent ;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_trainings);
    
            int zahl = getIntent().getIntExtra("Zahl");
    
    
    
            TextView textView = (TextView) findViewById(R.id.welcome);
            textView.setText(numberofZahl);
    
    
        }
    }
    wobei bei der zweiten sagt er, er will ein integer wert und kein string bei int zahl = getIntent().getIntExtra("Zahl");
     
  8. jogimuc, 29.06.2018 #8
    jogimuc

    jogimuc Android-Hilfe.de Mitglied

    HI wenn du dir anschaust wellche Parameter getIntExtra will kommst du selber drauf.
    int zahl = getIntent().getIntExtra("Zahl",0);
    wobei die null ein default wert ist der übergeben wird wenn nichts im Intent gefunden wird.

    Auserdem hätte der Fehler vor dem Code den ich geschickt habe auch sein müssen.
    Und er entsteht erst wenn die zweite Activity gestartet wird. Das sind nützliche infos für uns.
    Die Text Zeile hätte rot unterstrichen sein müssen. Wenn du einen Fehler im Code hast brauchste kein Build Starten. Wird immer Fehler geben.

    Was ist nummerofZahl ?
    textView.setText(numberofZahl);

    textView.setText(""+ zahl);
    textView.setText(String.valueOf(zahl));


    Wir Helfen hier Freiwillig .
     
    Zuletzt bearbeitet: 29.06.2018
  9. rellik, 29.06.2018 #9
    rellik

    rellik Threadstarter Neuer Benutzer

    Ja hab ich verstanden Danke, aber jetzt ist nichts mehr rot und er sagt mir beim zweiten activity stürzt er ab.


    Der fehler liegt daran, dass er den string wert nicht in einem Integer umändern will.
     
  10. jogimuc, 29.06.2018 #10
    jogimuc

    jogimuc Android-Hilfe.de Mitglied

    Habe die Lösung oben schon eingefügt.
     
  11. rellik, 29.06.2018 #11
    rellik

    rellik Threadstarter Neuer Benutzer

    kannst du bitte den ganzen code hier zeigen verstehe nichts bin noch neu in android
     
  12. jogimuc, 29.06.2018 #12
    jogimuc

    jogimuc Android-Hilfe.de Mitglied

    Wenn du in der zweiten einen String brauchst kannste den auch gleich übergeben.
    in der Main
    intent.putExtra("Zahl", st);

    in der zweiten
    String zahl = getIntent().getStringExtra("Zahl");
    TextView textView = (TextView) findViewById(R.id.welcome);
    textView.setText(zahl);
     
  13. rellik, 29.06.2018 #13
    rellik

    rellik Threadstarter Neuer Benutzer

    Ja Danke hat geklappt und schuldigung das ich dumme fragen gestellt hab. Ich hab da noch etwas soll ich dafür ein neues Thema aufmachen ??

    Es geht darum 3 TextView zu erstellen und diese mit einer arrayList zu verbinden die Daten bekomme ich von einer neuen Klasse MyApp
     
  14. jogimuc, 29.06.2018 #14
    jogimuc

    jogimuc Android-Hilfe.de Mitglied

    Alles gut. Fragen kannst du immer. Was nicht schön ist nur zwei Worte und wir ich soll Wissen woran es liegt.
    Ok Schnee von gestern.
    Von mir aus kannste hier weiter schreiben oder auch einen neuen post auf machen.

    Kann mir im Moment noch nichts richtiges unter deinen Problem vorstellen.
     
  15. rellik, 29.06.2018 #15
    rellik

    rellik Threadstarter Neuer Benutzer

    Ich habe eine Array List in einer anderen klasse schon vorprogrammiert. Jetzt will ich eine neu Klasse erstellen und diese mit Daten füllen einmal Cardio und 300 kalorien und noch was. 3 Daten sollen es sein. Diese daten will ich in meiner app anzeigen wenn man auf 3 klickt wie gerade. dann sollen dadrunter die daten sein die man vor und zurück blättern kann.
     
  16. jogimuc, 29.06.2018 #16
    jogimuc

    jogimuc Android-Hilfe.de Mitglied

    Du kannst auch mehrere werte einem intent mitgeben.
    Für jeden Parameter den du den intent mitgiebst musst du einen anderen key benutzen.
    Den gleichen key brauchst du dann in der neuen aktivity auch wieder zum auslesen.
     
  17. rellik, 30.06.2018 #17
    rellik

    rellik Threadstarter Neuer Benutzer

    Danke ich mache mal neues Thema auf.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Wert beim Start der App aus SharedPreferences auslesen Android App Entwicklung 10.09.2018
Mit Webview.findallasync ein Wert überprüfen -Hilfe Android App Entwicklung 29.04.2018
custom textView .setText() - UI thread Android App Entwicklung 02.04.2018
Notification beenden wenn ein übergebener Intent ausgeführt wird. Android App Entwicklung 02.03.2018
Fragment Textview Text von non-Activity ändern Android App Entwicklung 27.01.2018
Integer-Wert übertragen auf zweite Activity Android App Entwicklung 17.11.2017
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.