Ok. Zrobiłem bazę danych. Zapisywanie działa, ale problem pojawia się przy aktualizacji notatki, jej usunięciu i samym wyświetleniu.
Przy usunięciu nic się nie dzieje, a przy aktualizacji notatki wywala app'kę :/ Wydaje mi się, że mam błąd przy przesyłaniu informacji (id) między actvity i to tego wina, ale nie umiem go naprawić + nie mogę wczytać informacji (używałem xxx.setText(adpData.KEY_X)😉 gdzie X jest String'iem, ale to nie działa.
Tu wysyłam:
final ListView NoteList;
NoteList = (ListView) findViewById(R.id.listView);
//Wywołuję metodę tworzenia folderu
createDirIfNotExists("Notatnik");
//Odświeżam by dodać kolejne pozycje do listy po zapisie nowego pliku
onResume();
//Tworzę listę notatek istniejących w bazie danych
String[] from = new String[] {
AdapterData.KEY_TITLE,
AdapterData.KEY_CONTENT
};
int[] to = new int[] {
android.R.id.text1,
android.R.id.text2
};
adpData.open();
Cursor cursor = adpData.fetchNotes();
dataAdapter = new NoteSimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, from, to, 0);
expandableListView = (ListView)findViewById(R.id.listView);
expandableListView.setAdapter(dataAdapter);
expandableListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent edycja = new Intent(MainActivity.this, EditNote.class);
edycja.putExtra("id",AdapterData.KEY_ID);
startActivity(edycja);
}
});
}
A tu odbieram:
EditText etTitle;
EditText etContent;
private AdapterData adpData = new AdapterData(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_note);
etContent = (EditText) findViewById(R.id.editText2);
etTitle = (EditText) findViewById(R.id.editText);
adpData.open();
otworz(this);
}
public void otworz(EditNote view) {
long noteId;
Intent edycja = getIntent();
noteId = edycja.getIntExtra("id", 1);
adpData.getNote(noteId);
etContent = (EditText) findViewById(R.id.editText2);
etTitle = (EditText) findViewById(R.id.editText);
}
public void cofnij(View view){
Intent cofnij = new Intent(this, MainActivity.class);
startActivity(cofnij);
}
public void unun(View view){
long noteId;
Intent edycja = getIntent();
noteId = edycja.getIntExtra("id", 0);
adpData.open();
adpData.deleteNote(noteId);
Intent unun = new Intent(this,MainActivity.class);
startActivity(unun);
}
public void aktualizuj(View view){
long noteId;
Intent edycja = getIntent();
noteId = edycja.getIntExtra("id", 0);
etContent = (EditText) findViewById(R.id.editText2);
etTitle = (EditText) findViewById(R.id.editText);
String content = etContent.getText().toString();
String title = etTitle.getText().toString();
adpData.open();
adpData.updateNote(noteId,content,title);
Intent aktu = new Intent(this,MainActivity.class);
startActivity(aktu);
}
}
Ps. Dodam możliwość eksportu na sd później 😉