Im construire une application où j'ai une liste de tableaux avec des chaînes et un bouton. Quand j'appuie sur le bouton, il supprime la chaîne de la liste (avec string.remove) et l'affiche dans une autre activité .. Le problème est que lorsque je ferme l'application et la rouvre, tout redevient normal. Comment sauvegarder les modifications effectuées?Enregistrer la modification Chaîne au redémarrage dans Android
Voici le code:
public class TasksActivity extends AppCompatActivity {
private static ArrayList<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_tasks);
final Button tasksbtn = (Button) findViewById(R.id.btnfortasks);
Button checkTask = (Button) findViewById(R.id.remove_case);
final TextView tasksView = (TextView) findViewById(R.id.tasks_textView);
final ArrayList<String> tasks = new ArrayList<String>();
tasks.add("one");
tasks.add("two");
tasks.add("three");
tasks.add("four");
tasks.add("five");
tasks.add("six");
Collections.shuffle(tasks);
tasksView.setText(tasks.get(0));
assert tasksbtn != null;
tasksbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Collections.shuffle(tasks);
tasksView.setText(tasks.get(0));
}
});
checkTask.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(TasksActivity.this, CompletedTasks.class);
intent.putExtra("completedTasks", tasks.get(0));
tasks.remove(tasks.get(0));
startActivity(intent);
}
});
}
}
Et la deuxième activité
public class CompletedTasks extends AppCompatActivity {
String completedTasks;
Global_Variable object = new Global_Variable();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_completed_tasks);
TextView completedTasksView = (TextView) findViewById(R.id.completed_tasks);
Intent intent = getIntent();
completedTasks = intent.getExtras().getString("completedTasks");
object.tasks.add(completedTasks + "\n");
String a = "";
for (int i = 0; i < object.tasks.size(); i++) {
a += object.tasks.get (i);
completedTasksView.setText(a);
Log.d("a", "a---------" + a);
}
}
}
Merci pour le vote négatif .. Il est vraiment serviable ..:/ –
Il est probablement parce que vous n'avez pas fourni de code. Souvent, il est difficile d'aider ou de comprendre ce que vous essayez d'atteindre sans voir le code. – babadaba
Ok, je vais fournir mon code, mais je pense qu'il est plus utile d'apprendre cela d'une manière générale, comme les préférences partagées @babadaba mentionné .. (Désolé pour mon anglais) –