Paso de valor de una actividad a otra en android

Hola, he desarrollado una aplicación que tiene un cuadro de texto y un botón de búsqueda cuando introdujo un número en el cuadro de texto y haga clic en el botón de búsqueda que necesita para pasar el valor ingresado a la siguiente actividad donde utiliza ese valor para obtener el valor Desde una base de datos.

Estoy usando el código siguiente para pasar el valor.

search_button.setClickable(true); search_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String outlet_no = outlet_id.getText().toString(); System.out.println(outlet_no); if(!outlet_no.isEmpty()){ @SuppressWarnings("deprecation") SharedPreferences myPrefs = getApplicationContext().getSharedPreferences("myPrefs", MODE_WORLD_READABLE); SharedPreferences.Editor prefsEditor = myPrefs.edit(); prefsEditor.putString("outlet_id", outlet_no); prefsEditor.commit(); Intent myIntent = new Intent(HomeActivity.this, StoreActivity.class); startActivity(myIntent); HomeActivity.this.startActivity(myIntent); } else{ Toast.makeText(getApplicationContext(), "Please enter an outlet id", Toast.LENGTH_SHORT); } } }); 

Mi problema es que no pasa el valor. ¿Puede alguien que me ayude con esto y también any1 puede explicarme el código anterior como yo didnot escribirlo y estoy encontrando difícil de entender.

Lado StoreActivity

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.store); myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); mOutletID = myPrefs.getString("outlet_id", "0"); mOutletDetails = myPrefs.getString("outlet_details","{}"); Log.v("outlet_details",myPrefs.getString("outlet_details","{}")); if(mOutletDetails != "{}"){ setOutletData(mOutletDetails); } else{ executeAjaxRequest(); } } 

Errores que cometió:

1) ¿Por qué está intentando comenzar la actividad dos veces?

 startActivity(myIntent); // this is OK HomeActivity.this.startActivity(myIntent); 

2) Para pasar el texto introducido de una actividad a otra, puede utilizar el método putExtra() de intención, por ejemplo:

 myIntent.putExtra("SearchText", outlet_no); 

Así que su código completo sería:

  Intent myIntent = new Intent(HomeActivity.this, StoreActivity.class); myIntent.putExtra("SearchText", outlet_no); startActivity(myIntent); 

3) Para recibir el valor que usted ha pasado de la primera actividad:

 Intent intent = getIntent(); Bundle bundle = intent.getExtras(); String outlet_no= bundle.getString("SearchText"); 

4) SharedPreferences:

FYI, SharedPreference se utiliza para guardar una pequeña cantidad de datos que pueden ser referencia y utilizados posteriormente en la aplicación.

Usted debe referirse a los enlaces siguientes:

  1. Preferencias compartidas
  2. Intención
  3. Filtros de intención e intención
 Intent myIntent = new Intent(HomeActivity.this, StoreActivity.class); myIntent.putExtra("searchString", outlet_no); startActivity(myIntent); 

Esto enviará la searchString a StoreActivity

Y en StoreActivity puede recuperar el valor utilizando:

 String s = getIntent.getStringExtra("searchString"); 

En su método onClick, tenga el código siguiente:

  String outlet_no = outlet_id.getText().toString(); if(!outlet_no.isEmpty()){ Intent myIntent = new Intent(HomeActivity.this, StoreActivity.class); myIntent.putExtra("outlet_id",outlet_no); startActivity(myIntent); } else{ Toast.makeText(getApplicationContext(), "Please enter an outlet id", Toast.LENGTH_SHORT); } 

Ahora en StoreActivity, en el método onCreate () tiene algo como esto:

 String outlet_no = getIntent().getStringExtra("outlet_id"); if (outlet_no != null) //Just a defensive check //Start your processing 

También puede hacer esto con Intents.

Digamos que tenemos 2 actividades: SourceActivity y DestinationActivity y queremos pasar un valor de SourceActivity a DestinationActivity

En su botón OnClickListener:

 String str_outlet_no = outlet_no.getText().toString(); Intent intent = new Intent(SourceActivity.this, DestinationActivity.class); intent.putExtra("outlet_no_key", outlet_no); startActivity(intent); 

Y en el otro lado en DestinationActivity:

 Intent intent = getIntent(); String desi = intent.getStringExtra("outlet_no"); 

Y búsqueda desi de la base de datos

Puedes probar algo como esto: –

Actividad A

 myIntent.putExtra(var, value); // Putting the value startActivity(myIntent); 

Actividad B

 String value = getIntent().getStringExtra(var); // Getting the value 

La forma más sencilla de hacerlo sería pasar el identificador de sesión a la actividad de cierre de sesión en la intención que está utilizando para iniciar la actividad:

 Intent intent = new Intent(getBaseContext(), SignoutActivity.class); intent.putExtra("EXTRA_SESSION_ID", sessionId); startActivity(intent) 

Los documentos para Intents tienen más información (consulte la sección titulada "Extras").

Simplemente puede escribirlo como

 Intent myIntent = new Intent(HomeActivity.this, StoreActivity.class); myIntent.putExtra("outlet_no",outlet_no); startActivity(myIntent); 

Avísame si esto funcionó o no.

Actividad A

 myIntent.putExtra(var, value); // Putting the value startActivity(myIntent); 

Actividad B

 String value = getIntent().getStringExtra(var); // Getting the value 
  • El objetivo de la actividad de Android permanece después del apagado
  • ¿Puedo llamar a startActivity () desde dentro onResume ()?
  • ¿Cuáles son las diferencias entre la actividad y el fragmento
  • Datos de paso de Android entre Fragmentos
  • Hacer que la actividad de Android aparezca como diálogo
  • Fragmentos - ¿Tienes que usar un Envoltorio de actividad alrededor de un fragmento que comprende toda la Actividad?
  • Android: ¿Por qué se llama onTabSelected cuando se crean pestañas?
  • Android inicio actividad de servicio
  • Iniciar otra actividad dentro de FrameLayout de TabActivity
  • Android - ¿cuál es la manera correcta de implementar un asistente con una animación entre los pasos
  • Cómo utilizar diferentes onKeyDown en fragmento de una misma actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.