How do I close the popup?

I have an activity with a custom popup (quick action style). There are several buttons leading to other actions. I want to close the popup after clicking a button (about or by email) on that popup (now when I go back the popup appears again).

public class FirstActivity extends Activity implements OnClickListener {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

               // some code

    Button quickButton = (Button) findViewById(R.id.button_quickaction);

    quickButton.setOnClickListener(this);

    final ActionItem about = new ActionItem();
    final ActionItem email = new ActionItem();

    quickButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            QuickAction qa = new QuickAction(v);

            qa.addActionItem(about);
            qa.addActionItem(email);
            qa.setAnimStyle(QuickAction.ANIM_GROW_FROM_RIGHT);

            qa.show();
        }
    });


    about.setTitle("About");
    about.setIcon(getResources().getDrawable(R.drawable.about));
    about.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            //some code
        }
    });

    email.setTitle("Email");
    email.setIcon(getResources().getDrawable(R.drawable.email));
    email.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            //some code
        }
    });

}

}

      

Please, help.


Added:

I need something like this:

about.setTitle("About");
    about.setIcon(getResources().getDrawable(R.drawable.about));
    about.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            qa.dismiss();
        }
    });

      

But qa

it cannot be resolved. Even if I add final

to QuickAction qa = new QuickAction(v);

.

+3


source to share


1 answer


try finish()

on the onClick button.

update:



QuickAction qa;
quickButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            qa = new QuickAction(v);

            qa.addActionItem(about);
            qa.addActionItem(email);
            qa.setAnimStyle(QuickAction.ANIM_GROW_FROM_RIGHT);

            qa.show();
        }
    });


    about.setTitle("About");
    about.setIcon(getResources().getDrawable(R.drawable.about));
    about.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(qa.isShowing())
               qa.dismiss();
            //some code
        }
    });

    email.setTitle("Email");
    email.setIcon(getResources().getDrawable(R.drawable.email));
    email.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(qa.isShowing())
               qa.dismiss();
            //some code
        }
    });

      

you can also put private QuickAction qa;

in your activity.

+2


source







All Articles