-1
対この差(例えば)いくつかのMainActivityから新しい意図を開始差異が使用しているもの:インテントを正しく開始する。 MainActivity.this
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
対この差(例えば)いくつかのMainActivityから新しい意図を開始差異が使用しているもの:インテントを正しく開始する。 MainActivity.this
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
対
Intent intent = new Intent(this, SecondActivity.class);
を目的の作業に差はありませんが、我々はこれらの2つのステートメントを異なる状況で使用する。 packageContextに、我々はコンテキストを渡す必要が
Intent intent = new Intent(Context packageContext, Class<?> cls);
:
は、実際に新しいアクティビティを開始するために、我々は意図を使用しています。だからこそ、私たちは現在の活動の文脈として「これ」を渡すのです。
しかし、匿名のonClickListenerのようないくつかのアノニマスクラスから同じことを行うと、このアノニマスクラスのインスタンスが参照されます。その場合、MainActivityクラスのコンテキストである 'MainActivity.this'を使用します。
これはあなたの活動の現在のコンテキストとみなされます。しかし、ボタンクリックリスナーを実装するときは、このキーワードの有効性名を書くために、このスコープが利用できない匿名クラスに行きます。 –
OPは、コンテキストが何であるかを詳しく知る必要があるようです。 (これは)多くの開発者を混乱させることが知られています! – Eenvincible
http://stackoverflow.com/questions/22966601/what-is-different-between-mainactivity-this-vs-getapplicationcontext –