Wie kann ich ein TextView in einer anderen Activity anzeigen lassen? (Android Studio)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie kann ich ein TextView in einer anderen Activity anzeigen lassen? (Android Studio)

    Hi,

    Die Frage klingt zwar etwas weird, aber ich habe im Internet nicht so richtig was gefunden, wahrscheinlich weil das eigentlich klar ist, aber leider mir nicht :S . Also:

    Ich habe ein TexView in meiner MainActivity, wo die CLicks, die auf einen Button gemacht wurden, angezeigt werden. Nun wollte ich dieses Ergebnis von dem TextView aus der MainActivity (z.B. 36) in meiner Activity2 in einem anderen TextView anzeigen lassen. Weiss aber nicht wie das geht ?(

    Ihr würdet das bestimmt mit links können, also lasst mich wissen wie ich das mach!!!

    Hier mein Code (falls ihr den benötigt): (id: "textCount" ist die click anzeige und diese anzahl soll bei activity_2 in id: "textCountAnzeige" angezeigt werden)

    (MainActivity)

    package de.onecom.myapplication;

    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;

    public class MainActivity extends AppCompatActivity {

    private Button btnSwitch;
    private Button btnDiamonds;
    public TextView showValue;

    int counter = 0; //starting from Zero

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    showValue = (TextView) findViewById(R.id.textCount);

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

    btnSwitch = (Button) findViewById(R.id.btnSwitch);
    btnSwitch.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    openActivity2();
    if (9 < 10){
    Toast.makeText(getApplicationContext(), "Du bist nun zur nächsten Seite gewechselt", Toast.LENGTH_LONG).show();
    }

    }
    });

    }

    public void countIN (View view){
    //will get increased for each click on btnDiamonds
    counter++;
    showValue.setText(Integer.toString(counter));
    }

    public void openActivity2(){

    Intent intent = new Intent(this, Activity2.class);
    startActivity(intent);
    }

    }(activity_main)<?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="de.onecom.myapplication.MainActivity">

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
    android:id="@+id/btnDiamonds"
    android:onClick="countIN"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="188dp"
    android:background="@drawable/littlediamond1"
    android:text="@string/diamond"
    android:textColor="@android:color/black"
    android:textIsSelectable="false"
    android:textStyle="bold"
    android:typeface="sans"
    tools:layout_editor_absoluteX="147dp"
    tools:layout_editor_absoluteY="230dp" />

    <Button
    android:id="@+id/btnSwitch"
    android:layout_width="150dp"
    android:layout_height="70dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:background="@drawable/arrow"
    android:text="@string/play_with_diamonds"
    android:textColor="@android:color/background_light"
    android:textSize="13sp"
    android:textStyle="bold" />

    <ImageView
    android:id="@+id/imageView"
    android:layout_width="500dp"
    android:layout_height="762dp"
    android:contentDescription="@string/Dollar"
    android:scaleType="fitXY"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.71"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@drawable/imrich" />

    <TextView
    android:id="@+id/textCount"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:background="@drawable/littlediamond1"
    android:scrollbarSize="@android:dimen/app_icon_size"
    android:text="@string/diamonds"
    android:textAlignment="center"
    android:textAllCaps="false"
    android:textColor="@android:color/background_light"
    android:textSize="20sp"
    android:textStyle="normal|bold" />

    </RelativeLayout>

    </android.support.constraint.ConstraintLayout>(activity_2)<?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="de.onecom.myapplication.Activity2">

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:contentDescription="@string/todo"
    app:srcCompat="@drawable/littlediamond1" />

    <TextView
    android:id="@+id/textView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="66dp"
    android:text="@string/amount_of_gems_that_u_got_so_far"
    android:textAlignment="center"
    android:textSize="20sp" />

    <TextView
    android:id="@+id/textCountAnzeige" //hier soll textCount aus MainActivity angezeigt werden :!:
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/textView2"
    android:layout_marginTop="108dp"
    android:text="@string/wie_viele_diamanten_du_hast"
    android:textAlignment="center"
    android:textColor="@android:color/background_dark"
    android:textSize="30sp" />

    </RelativeLayout>

    </android.support.constraint.ConstraintLayout>
  • Hey :)

    Was du willst, wie ich dich verstanden habe, ist das du einen Wert von Activity a in Activity B anzeigen willst.

    Ich würde den Wert aus der TextBox einfach als Parameter in die zweite Acitivity über geben -> StackOverflow

    Einfach in der Activity b den Wert aus dem Bundle holen und in die TextBox schreiben.

    Ps: Benutz bitte das nächste mal wenn du dein Code Postet den </> Button :)
  • Kannst du das mir vielleicht erklären? Es wird nämlich leider bei mir putIntent und putExtras rot unterstrichen :-/

    Und wo soll ich das generell hinenschreiben? unter

    Quellcode

    1. public class MainActivity extends AppCompatActivity
    Und bei "intent.putExtras(b); //Put your id to your next Intent", ist das die ID von dem text view in meiner Activity2, und wo soll ich die dort hinschreiben :?:

    Sry, aber ich bin wirklich noch nicht so fortgeschritten ?(
  • hi nein das ist nicht die id vom textview.
    Mithilfe von extra kannst du dem Intent Parameter mitgeben. Diese werden in (key wert )Paaren übergeben der key(id) dient dazu wenn mehrere Parameter übergeben werden sie auseinander zuhalten.
    Der key in putextra und bei getintent muss der gleiche sein. Was du übergibst einen int, String,Float,Id ... ist dir überlassen .
    In der textview der mainactivity ist ein String und du willst ihn wieder in einer Textview in der zweiten activity anzeigen. Allso übergebe einen String .
    Die id für die textview der zweiten activity holst du dir wie immer mit findviewbyid .

    Wenn es rot unterstrichen ist hast du wohl die Klasse noch nicht importiert. Drücke mal alt + enter um dem Import zu machen. Ansonsten zeige mal wie du das mit putextra gemacht hast.

    Das putextra gehört bei dir in die openActivity2(); Methode denn dort erstellst du den intent.
    Den String holst du dir in der zweiten activity in der oncreat.


    https://individuapp.com/softwareentwicklung/android-kurs/die-klassen-activity-und-int
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von jogimuc ()

  • Java-Quellcode

    1. public class MainActivity extends AppCompatActivity {
    2. private Button btnSwitch;
    3. private Button btnDiamonds;
    4. public TextView showValue;
    5. int counter = 0; //starting from Zero
    6. @Override
    7. protected void onCreate(Bundle savedInstanceState) {
    8. super.onCreate(savedInstanceState);
    9. setContentView(R.layout.activity_main);
    10. showValue = (TextView) findViewById(R.id.textCount);
    11. btnDiamonds = (Button) findViewById(R.id.btnDiamonds);
    12. btnSwitch = (Button) findViewById(R.id.btnSwitch);
    13. btnSwitch.setOnClickListener(new View.OnClickListener() {
    14. @Override
    15. public void onClick(View view) {
    16. openActivity2();
    17. if (9 < 10){
    18. Toast.makeText(getApplicationContext(), "Du bist nun zur nächsten Seite gewechselt", Toast.LENGTH_LONG).show();
    19. }
    20. }
    21. });
    22. }
    23. public void countIN (View view){
    24. //will get increased for each click on btnDiamonds
    25. counter++;
    26. showValue.setText(Integer.toString(counter));
    27. }
    28. public void openActivity2(){
    29. Intent intent = new Intent(this, Activity2.class);
    30. Bundle b = new Bundle();
    31. b.putInt("key", Integer.ParseInt(showValue.getText().toString())); //Your id
    32. intent.putExtras(b); //Put your id to your next Intent
    33. startActivity(intent);
    34. }
    35. }
    Alles anzeigen
    und in der Zweiten Activity kommt ins onCreate

    Quellcode

    1. //Hier deine TextView initialisieren mit findViewById und so
    2. Bundle b = getIntent().getExtras();
    3. int value = -1; // or other values
    4. if(b != null)
    5. value = b.getInt("key");
    6. textview.setText(value);
    das "key" kannst du selber benennen wie du willst muss aber in Activity 1 und 2 gleich sein

    Ps: Es könnte sein das du es etwas anpassen musst hab es nur aus dem Kopf raus hingeschrieben...
  • Leider hört die App jetzt auf zu arbeiten und stürtzt ab, wenn in die zweite Activity gehe. :-X

    Quellcode

    1. public void openActivity2(){
    2. Intent intent = new Intent(this, Activity2.class);
    3. Bundle b = new Bundle();
    4. b.putInt("key", Integer.parseInt(showValue.getText().toString()));
    5. intent.putExtras(b);
    6. startActivity(intent);

    Activity2:

    Quellcode

    1. @Override
    2. protected void onCreate(Bundle savedInstanceState) {
    3. super.onCreate(savedInstanceState);
    4. setContentView(R.layout.activity_2);
    5. textCount2 = (TextView) findViewById(R.id.textCount2);
    6. Bundle b = getIntent().getExtras();
    7. int value = -1; //or other values
    8. if (b != null)
    9. value = b.getInt("key");
    10. textCount2.setText(value);
    11. }
    Alles anzeigen