Próbuję spowodować, że moja aktywność zostanie zamknięta i powróci z wynikiem, mam funkcję onActivityResult w mojej aktywności nadrzędnej, a ja użyłem tej samej metody poniżej w innych miejscach, w których działa.Finishactivity nie kończy działania?
public void deleteFile(){
boolean deleted=FileManager.getInstance().deleteMeasurementData(this.getIntent().getData(), this);
if(deleted){
Toast.makeText(this, originalData.getName() +".mmd Has been deleted", Toast.LENGTH_SHORT);
setResult(EditMeasurement.RESULT_YES_DELETED);
finishActivity(EditMeasurement.RESULT_YES_DELETED);
}else {
Toast.makeText(this, originalData.getName() +".mmd did NOT delete", Toast.LENGTH_SHORT);
Log.e(TAG, "File did NOT delete error");
}
}
Metoda ta została wywołana z tego menu:
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
Log.i(TAG, "something choosen "+item.getItemId()+" it should have been: "+R.id.om_measurement_menu_delete);
switch (item.getItemId()) {
case R.id.om_measurement_menu_edit:
editFile();
return true;
case R.id.om_measurement_menu_delete:
deleteFile();
return true;
case R.id.om_measurement_menu_cancel:
endActivity();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Każdy z jakichkolwiek jasnych pomysłów, dlaczego to robi zamknąć?
Wystarczy umieścić wykończenie() w DeleteFile() i daj mi znać, co się stało .. – user370305