title: Toast.makeText(getApplicationContext(), "String", Toast.LENGTH_LONG); ==>Here getApplicationContext() cannot change to "this"?
body: <p>First the format of Toast.makeText():</p>
  
  <p><code>public static Toast makeText (Context context, CharSequence text, int duration)</code>
  the first argument is <strong><em>Context</em></strong>, the function <strong><em>getApplicationContext()</em></strong> also return the current context, everything is ok, but IMO, the <strong><em>getApplicationContext()</em></strong> can also be replaced with this, just as follows:</p>
  
  <pre><code>public class ContextMenuResourcesActivity extends Activity {
      /** Called when the activity is first created. */
  
      private Button b1;
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
      b1 = (Button)findViewById(R.id.button1);
      final int l = Toast.LENGTH_LONG;
      final String s1 = "some string";
      b1.setOnClickListener(new OnClickListener() {
              public void onClick(View v) {
                  Toast t1 = Toast.makeText(this, s1, l);
                  t1.show();
              }
          });
      }
  }
  </code></pre>
  
  <p>IMO <code>this</code> stands for the class <code>ContextMenuResourcesActivity</code>, which extends <code>Context</code>, so it can replace the first argument which demands for <strong><em>Context</em></strong>, but I failed, can anyone explain why?</p>