TransWikia.com

Pasar Informacion de un Activity a Otro (Android Studio)

Stack Overflow en español Asked by Dannogger on November 15, 2021

Buenas!
Esta es mi primera pregunta y me surgio debido a que tengo mucha urgenciap, resulta que quiero pasar una informacion (Nombre) de un Activity a Otro Activity Llamado Destino (Todo esto en Android Studio)
El problema surge cuando Coloco el "Nombre" pero al pulsar el button "Enviar" no llega a el activity de destino, es decir no responde.
Muestro parte del codigo importante:

Contenido de donde dirige el mensaje al destino:
Activity Content (Grafico):
"

<?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=".ContentActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <EditText
            android:id="@+id/nombre"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="textPersonName"
            android:text="Name" />

        <Button
            android:id="@+id/enviar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:onClick="enviarNombre"
            android:text="Enviar" />
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

"

           Codigo ContentActivity.java (Codigo de contenido):

"

package com.example.saletravel;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class ContentActivity extends AppCompatActivity {
    public static final String NOMBRE_USUARIO = "Daniel";

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

    public void enviarNombre(View view) {
        Intent intentenviar = new Intent(this, DestinoActivity.class);
        EditText nombreUsuario = findViewById(R.id.nombre);
        String nombreUsuarioMens = nombreUsuario.getText().toString();
        intentenviar.putExtra(NOMBRE_USUARIO, nombreUsuarioMens);

    }


}
"

Codigo Activity Destino (Donde se tendria que enviar el nombre provisto de contenido):

<?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=".DestinoActivity">
    
        <TextView
            android:id="@+id/mensajefinal"
            android:layout_width="76dp"
            android:layout_height="19dp"
            android:autoLink="all"
            android:text="TextView"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="16dp" />
        
        
    </androidx.constraintlayout.widget.ConstraintLayout>"

Codigo DestinoActivity.java (Codigo de el destino):

package com.example.saletravel;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class DestinoActivity extends AppCompatActivity {

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

        Intent intentFinal= getIntent();
        String nombreUsuarioFinal = intentFinal.getStringExtra(ContentActivity.NOMBRE_USUARIO);

        TextView mensajeFinal = findViewById(R.id.mensajefinal);
        mensajeFinal.setText(nombreUsuarioFinal);
    }
}

Eso seria todo, espero que encuentre la ayuda, muchas gracias!
Imagen de Guia:
Imagen del contenido donde se tiene que enviar el nombre hacia destino

One Answer

El único detalle que veo en tu código es que te falta llamar a startActivity

public void enviarNombre(View view) {
    Intent intentenviar = new Intent(this, DestinoActivity.class);
    EditText nombreUsuario = findViewById(R.id.nombre);
    String nombreUsuarioMens = nombreUsuario.getText().toString();
    intentenviar.putExtra(NOMBRE_USUARIO, nombreUsuarioMens);
    startActivity(intentenviar);
}

Answered by danms07 on November 15, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP