Foros del Web » Programando para Internet » Android »

error al pasar valor

Estas en el tema de error al pasar valor en el foro de Android en Foros del Web. En un activity tengo un dos EditText y un Boton En el segundo activity solo tengo un TextView y un boton Quiero que el texto ...
  #1 (permalink)  
Antiguo 23/02/2012, 23:47
 
Fecha de Ingreso: diciembre-2008
Ubicación: PERU
Mensajes: 294
Antigüedad: 15 años, 4 meses
Puntos: 23
error al pasar valor

En un activity tengo un dos EditText y un Boton
En el segundo activity solo tengo un TextView y un boton

Quiero que el texto escrito en el EditText de mi primer activity pase al TextView. Estoy probando con todo: (setters and getters, intent) , segun Eclipse no encuentra errores pero a la hora de ejecutar no me corre el app. Me dice "Sprry the aplication ..... has stopped unexplicatedly..try again"


Aqui les dejo el codigo a ver si me ayudan a encontrar mi error.

layout para el primer activity
Código XML:
Ver original
  1. android:orientation="vertical"
  2.     android:layout_width="fill_parent"
  3.     android:layout_height="fill_parent"
  4.     >
  5.     <TextView  
  6.    android:layout_width="wrap_content"
  7.    android:layout_height="wrap_content"
  8.    android:text="Usuario"
  9.    />
  10.     <EditText android:id="@+id/mitexto"
  11.     android:layout_width="wrap_content"
  12.     android:layout_height="wrap_content"
  13.   />
  14.     <TextView  
  15.    android:layout_width="wrap_content"
  16.    android:layout_height="wrap_content"
  17.    android:text="Contraseña"
  18.    />
  19.     <EditText android:id="@+id/contrasena"
  20.    android:layout_width="fill_parent"
  21.    android:layout_height="wrap_content"
  22.     />
  23.     <Button android:id="@+id/enviar"
  24.     android:layout_width="fill_parent"
  25.    android:layout_height="wrap_content"
  26.    android:text="Enviar"
  27. />

layout para el segundo activity
Código XML:
Ver original
  1. android:orientation="vertical"
  2.     android:layout_width="fill_parent"
  3.     android:layout_height="fill_parent"
  4.     >
  5.     <TextView  android:id="@+id/txtvalor"
  6.    android:layout_width="wrap_content"
  7.    android:layout_height="wrap_content"
  8.    />
  9.     <Button android:id="@+id/volver"
  10.     android:layout_width="fill_parent"
  11.    android:layout_height="wrap_content"
  12.    android:text="Volver"
  13.     />

Aqui defino mis setters and getters
Código Javascript:
Ver original
  1. public class acceso {
  2.     private String name="";
  3.     private String contrasena="";
  4.    
  5.     public String getUsuario() {
  6.         return(name);
  7.     }
  8.     public void SetUsuario(String name){
  9.         this.name=name;    
  10.     }
  11.    
  12.     public String getClave(){
  13.         return(contrasena);    
  14.     }
  15.     public void SetClave(String contrasena){
  16.         this.contrasena=contrasena;
  17.     }
  18.    
  19. }

CLASS JAVA para el primer activity
Código Javascript:
Ver original
  1. import .....
  2.  
  3. public class now extends Activity {
  4.     acceso a=new acceso();
  5.        
  6.    
  7.     EditText obje=(EditText) this.findViewById(R.id.mitexto);
  8.     String xval=obje.getText().toString();
  9.    
  10.     @Override
  11.     public void onCreate(Bundle savedInstanceState) {
  12.     super.onCreate(savedInstanceState);
  13.     setContentView(R.layout.main);
  14.    
  15.     Button enviar=(Button)findViewById(R.id.enviar);
  16.     enviar.setOnClickListener(accede);    
  17.    
  18.   }
  19.    
  20.     private View.OnClickListener accede=new  View.OnClickListener(){
  21.        
  22.         public void onClick(View v){
  23.        
  24.         Intent intent = new Intent(now.this, principal.class);
  25.  
  26.         a.SetUsuario(xval);
  27.         startActivity(intent);         
  28.            
  29.         }      
  30.    };
  31. }

CLASS JAVA para segundo Activity
Código Javascript:
Ver original
  1. import .....
  2.  
  3. public class principal extends Activity {
  4.  
  5.     acceso r=new acceso();
  6.    
  7.     @Override
  8.     public void onCreate(Bundle savedInstanceState) {
  9.         super.onCreate(savedInstanceState);
  10.         setContentView(R.layout.principal);
  11.        
  12.         Button volver=(Button)findViewById(R.id.volver);
  13.         volver.setOnClickListener(vuelve);
  14.      
  15.        
  16.         //Bundle extras = this.getIntent().getExtras();
  17.         String datorecibido=r.getUsuario();
  18.        
  19.         TextView txt=(TextView)findViewById(R.id.txtvalor);
  20.         txt.setText(datorecibido);
  21.        
  22.    
  23.     }
  24.    
  25.     private View.OnClickListener vuelve=new View.OnClickListener(){
  26.         public void onClick(View b){
  27.             Intent intent = new Intent(principal.this, now.class);
  28.             startActivity(intent);
  29.            
  30.  
  31.         }
  32.        
  33.     };
  34.    
  35. }

Estoy usando el SDK 1.1_r1 ;
  #2 (permalink)  
Antiguo 24/02/2012, 03:03
Avatar de MarioAraque
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Valencia
Mensajes: 1.398
Antigüedad: 14 años, 6 meses
Puntos: 265
Respuesta: error al pasar valor

Dentro de la primera actividad, cuando haces el intent para abrir la segunda, tenes una funcion llamada putExtra, que te sirve para pasarle parametros al intent, y que pueda usarlos al abrir una nueva actividad.

Luego con la funcion getIntent().getExtras() obtenes los parametros y creo que tendrias solucionado tu problema.

Saludos.
  #3 (permalink)  
Antiguo 24/02/2012, 07:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 1 mes
Puntos: 17
Lo mejor cuando te sale ese error es mirar el logcat, te sale la traza de la excepción .

Saludos

Etiquetas: java, layout, todo, apps
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:34.