Three buttons with click listeners that pop up a quick toast I currently have three buttons, perhaps more to come. When I click on a button, I want a toast notification or message (popup message) to show up with some text. What I have works perfectly but it is very redundant. 

How I refactor what I have below to prevent redundant code? 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                Context context = getApplicationContext();
                CharSequence text = "This button will launch button1 App!";
                int duration = Toast.LENGTH_SHORT;

                Toast toast = Toast.makeText(context, text, duration);
                toast.show();
            }
        });

        Button button2 = (Button) findViewById(R.id.button2);
        button2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                Context context = getApplicationContext();
                CharSequence text = "This button will launch button2 App!";
                int duration = Toast.LENGTH_SHORT;

                Toast toast = Toast.makeText(context, text, duration);
                toast.show();
            }
        });

        Button  button3= (Button) findViewById(R.id.button3);
        button3.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                Context context = getApplicationContext();
                CharSequence text = "This button will launch button3 App!";
                int duration = Toast.LENGTH_SHORT;

                Toast toast = Toast.makeText(context, text, duration);
                toast.show();
            }
        });
    }
Anonymous classes and final keyword
It's good that you realize that you have redundancy in your code.  I think what is holding you back from refactoring the code yourself is that you aren't sure how to set the same onClickListener for each button because each button has a slightly different toast to pop up.
What you need to do is use final variables.  A final variable declared outside an anonymous class instantiation can be used within the anonymous class (i.e. your View.OnClickListener).  So in your case, you could do this:
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setToastForButton(R.id.button1, &quot;This button will launch button1 App!&quot;);
    setToastForButton(R.id.button2, &quot;This button will launch button2 App!&quot;);
    setToastForButton(R.id.button3, &quot;This button will launch button3 App!&quot;);
}

// Notice the final keyword here.  It allows the variable &quot;text&quot; to
// be used in the onClick() method below.
void setToastForButton(int btnId, final CharSequence text)
{
    Button button = (Button) findViewById(btnId);

    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Context context = getApplicationContext();
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }
    });
}

You can learn more about anonymous classes here.