Im Erstellen einer App, wo ich eine Array-Liste mit Zeichenfolgen und einer Schaltfläche habe. Wenn ich den Knopf drücke, löscht er den String aus der Liste (mit string.remove) und zeigt ihn in einer anderen Aktivität an. Das Problem ist, dass wenn ich die App schließe und sie wieder öffne, alles wieder normal wird. Wie speichern Sie die vorgenommenen Änderungen? HierSpeichern Sie die Änderung Zeichenfolge beim Neustart in Android
ist der 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);
}
});
}
}
Und die zweite Aktivität
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);
}
}
}
Dank für die negative Stimme .. Seine hilfsbereit wirklich ..:/ –
Es ist wahrscheinlich, weil Sie keinen Code vorsah. Oft ist es schwer zu helfen oder zu verstehen, was Sie erreichen möchten, ohne den Code zu sehen. – babadaba
Ok Ich werde meinen Code zur Verfügung stellen, aber ich denke, es ist hilfreicher, dies in einer allgemeinen Art und Weise wie geteilte Präferenzen zu lernen. @babadaba erwähnt .. (Sorry für mein Englisch) –