Buongiorno a tutti e Buona Pasqua!
Avendo una ListView che dovrà funzionare da semplice blocco note (o lista della spesa). Qual è il modo più semplice per salvare i dati in memoria e far si quindi che ricompaiano all'avvio successivo dell'app? E' possibile fare quanto detto senza creare un database? Mostro il codice. Grazie
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ListView listView = (ListView) findViewById(R.id.ListViewID);
final Button AddItem = (Button) findViewById(R.id.AddItemBtn);
final EditText editTxt = (EditText) findViewById( R.id.editTxt );
String[] elementi = new String[] {
};
final List<String> elementi_list = new ArrayList<String>(Arrays.asList(elementi));
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>
(this, android.R.layout.simple_list_item_1, elementi_list);
listView.setAdapter(arrayAdapter);
AddItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (editTxt.length() == 0){
Toast.makeText( MainActivity.this, "Campo vuoto :(", Toast.LENGTH_SHORT ).show();
return;}
elementi_list.add(editTxt.getText().toString());
editTxt.getText().clear();
arrayAdapter.notifyDataSetChanged();
Toast.makeText( MainActivity.this, "Elemento aggiunto!", Toast.LENGTH_SHORT ).show();
}
});
listView.setOnItemLongClickListener( new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick (AdapterView<?> parent, View view, int i, long l) {
elementi_list.remove( i );
arrayAdapter.notifyDataSetChanged();
Toast.makeText( MainActivity.this, "Elemento eliminato!", Toast.LENGTH_SHORT ).show();
return true;
}
});
}
}