-1

I have 6 activities:

main, second, third, fourth, PersonalDetails and NewUser.

When I am in NewUser activity, I am using code like this:

personalDetails.finish();

But it is still not clearing the personalDetails activity from the stack. Below is my code and I want clear only particular activities from stack.

Globally, I have declared:

PersonalDetails personalDetails;

@Override
    public boolean onOptionsItemSelected(MenuItem item) 
{
int id = item.getItemId();
switch (id) 
{

    case R.id.action_view_cart:
            personalDetails = new PersonalDetails();
            personalDetails.finish();
             Intent intentViewBookingCart  = new Intent(this,FourthActivity.class);

intentViewBookingCart.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(intentViewBookingCart);
        finish();
        break;
}
Unheilig
  • 16,196
  • 193
  • 68
  • 98
Rahul
  • 9
  • 6

1 Answers1

0

You can add static instance to your Activity like this

public class PersonalDetails extends Activity {

public static PersonalDetails sPersonalDetails;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        sPersonalDetails = this;
}

}

And in your next Activity:

@Override
    public boolean onOptionsItemSelected(MenuItem item) 
{
int id = item.getItemId();
switch (id) 
{

    case R.id.action_view_cart:
            PersonalDetails.sPersonalDetails.finish()
            PersonalDetails.sPersonalDetails = null;
             Intent intentViewBookingCart  = new Intent(this,FourthActivity.class);

intentViewBookingCart.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(intentViewBookingCart);
        finish();
        break;

}
buxik
  • 2,583
  • 24
  • 31