1

書くときにAndroidがエラーを出す理由を知りたいだけです

AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());

それが正しいかどうか。そして、なぜそれthisがペラメーターとして置いたときにのみ機能するのか。

AlertDialog.Builder builder = new AlertDialog.Builder(this);
4

1 に答える 1

3

Applicationはグローバルオブジェクトであり、ですContextContextアプリケーションコンテキストは、のように、現在実行中のコンポーネントに関連付けられていないを必要とするものにのみ使用する必要がありActivityます。

この場合、は(私が想定している)AlertDialog内部に作成され、それだけのコンテキストが必要です-したがって、を使用する必要があります。その理由は、その親の外に人生がないということです。ActivityActivitythisAlertDialogActivity

于 2012-09-18T05:49:18.667 に答える