Speichern und Neuladen ListView mit Shared Preferences [Speichern onDestroy()]

Ich am erstellen einer To-Do-Liste. Jetzt meine app fügt und entfernt Daten aus einer ListView. Allerdings, wenn ich in der Nähe meiner Anwendung die Daten wird gelöscht. Ich will SharedPreferences zu speichern, die Daten onDestroy(), dann, wenn meine app öffnet, wollte ich die Daten neu zu laden.

Aber ich weiß nicht, wie zu gehen über die Erfüllung dieser Aufgabe. Kann jemand mir helfen, mit dem speichern einer ListView mit Gemeinsamen Vorlieben (aka ich bin auf der Suche nach code)?

Gibt es tutorials für nur eine gemeinsame Vorliebe, ich bin auf der Suche dynamisch hinzufügen mehrerer Zeichenfolgen, wenn meine Anwendung geschlossen wird. Dann, wenn ich es erneut öffnen, werden die Daten angezeigt. Ich bin nur mit EINER AKTIVITÄT, die Seite, alles wird auftreten, auf der einen Seite.

HIER IST MEIN CODE:

public class Main_ToDoList extends Activity implements OnClickListener
{
private Button btnAdd;
private EditText et;
private ListView lv;
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
final Context context = this;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    btnAdd = (Button)findViewById(R.id.addTaskBtn);
    btnAdd.setOnClickListener(this);
    et = (EditText)findViewById(R.id.editText);
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);

    //set the lv variable to your list in the xml
    lv=(ListView)findViewById(R.id.list);
    lv.setAdapter(adapter);

    //set ListView item listener
    lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, final int position, long id)
        {
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
            alertDialogBuilder.setTitle("Confirm Delete");
            alertDialogBuilder.setMessage("Sure you want to delete?");
            alertDialogBuilder.setCancelable(false);
            alertDialogBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialogInterface, int i)
                {
                    adapter.remove(adapter.getItem(position));
                }
            });
            alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener()
            {
                @Override
                public void onClick(DialogInterface dialogInterface, int i)
                {
                    dialogInterface.cancel();
                }
            });
            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialog.show();
        }
    });
}
public void onClick(View v)
{
    String input = et.getText().toString();
    if(input.length() > 0)
    {
        adapter.add(input);
        et.setText("");
    }
}
@Override
public void onDestroy()
{
    super.onDestroy();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    //Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main__to_do_list, menu);
    return true;
}
} 
Warum nicht eine Datenbank?

InformationsquelleAutor JustAnotherUser32 | 2013-09-09

Schreibe einen Kommentar