Je suis un didacticiel android de transmission de données entre deux activités en utilisant la méthode startActivityForResult(). L'exemple fonctionne parfaitement. Mais une fois que j'ai entré et passé une valeur pour l'activité principale et que j'essaie à nouveau d'envoyer une nouvelle valeur, cette valeur entrée précédemment est remplacée. Ce que je veux, c'est conserver toutes les valeurs que j'ai entrées et passées à l'activité principale sans disparaître. S'il vous plaît quelqu'un peut-il me guider à travers. J'apprécie votre aide aimable.Utilisation de la méthode startActivityForResult() pour transmettre des données entre des activités Android et conserver ces données
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/textViewMessage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Message"
android:textColor="#031241"
android:textSize="20dp" />
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center_horizontal"
android:onClick="getMessage"
android:text="Get Message" />
</LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity {
TextView textViewMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// get The reference of The textView
textViewMessage = (TextView) findViewById(R.id.textViewMessage);
}
// Method to handle the Click Event on GetMessage Button
public void getMessage(View V) {
// Create The Intent and Start The Activity to get The message
Intent intentGetMessage = new Intent(this, SecondActivity.class);
startActivityForResult(intentGetMessage, 2);// Activity is started with requestCode 2
}
// Call Back method to get the Message form other Activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// check if the request code is same as what is passed here it is 2
if (requestCode == 2) {
if (null != data) {
// fetch the message String
String message = data.getStringExtra("MESSAGE");
// Set the message string in textView
textViewMessage.setText("Message from second Activity: " + message);
}
}
}
}
second.Xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical" >
<EditText
android:id="@+id/editTextMessage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textColor="#000000"
android:textSize="20sp"
android:hint="Enter The Message" />
<Button
android:layout_marginTop="20dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="Submit Message"
android:onClick="submitMessage" />
</LinearLayout>
SecondActivity.java
public class SecondActivity extends AppCompatActivity {
EditText editTextMessage;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
// Get the reference of Edit Text
editTextMessage=(EditText)findViewById(R.id.editTextMessage);
}
public void submitMessage(View V)
{
// get the Entered message
String message=editTextMessage.getText().toString();
Intent intentMessage=new Intent();
// put the message in Intent
intentMessage.putExtra("MESSAGE",message);
// Set The Result in Intent
setResult(2,intentMessage);
// finish The activity
finish();
}
}
puis stocker votre message précédent dans une série ou d'une liste – sumit
@sumit, merci pour la suggestion, pouvez-vous s'il vous plaît fournir un flux de la façon de le faire que je suis tout à fait nouveau android – Kash