Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Finishactivity doesn't finish the activity?

I'm trying to get my activity to close and return with the result, I do have onActivityResult in my parent activity, and I have used close to the same method below in other places where it works.

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");
        }

    }

This method was called from this 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);
        }
    }

Anyone with any bright ideas why it doesnt close?

like image 928
Anders Metnik Avatar asked Dec 07 '11 13:12

Anders Metnik


People also ask

How do you finish an activity?

On Clicking the back button from the New Activity, the finish() method is called and the activity destroys and returns to the home screen.

How do I end an activity in another class?

Say finish(); Like this you can call Activity's finish method from another class. It is perfectly working.

Does activity finish call onDestroy?

Third, finish() does not call onDestroy() . You can tell that by reading the source code.


1 Answers

finishActivity is used to close another activity from current - http://developer.android.com/reference/android/app/Activity.html#finishActivity(int), so just change it to finish();

like image 102
Dmitry Stropalov Avatar answered Sep 24 '22 00:09

Dmitry Stropalov