下記のコードでは、Play.thisではなく、何を書くことができるので、名前を書き込む必要なしにこのクラスの名前を使用することができます(この場合は「Play」)AlertDialog.Builder builder = new AlertDialog.Builder(Play.this);
クラスの名前は自動的にどのように使用できますか?
答えて
コンテキスト(this)を設定する前に、他に考えるべきことがあります。
まずケース - もし - あなたが活動/サービスのようなそのベースでコンテキストを拡張するクラスであり、そしてあなたが内部クラスでされていない場合は、あなただけの「この」
セカンドを使用することができますあなたはActivity/Servicesのようなベースでコンテキストを拡張するクラスに属していて、内部クラスにある場合、この場合のthisは内部クラスに関するため、(Play.this)を使用できます。
第三に - あなたはコンテキストを持っていない別のクラスである場合、あなたは次のようにコンストラクタまたはメソッドに渡すことができます:
class Test {
public void createBuilder(Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
}
}
Play
クラスのコードにPlay.this
を使用する理由はありません。ただ、this
を使用します。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
しかし、あなたの内部クラスから、あなたはthis
を必要とすることを行いたい場合は、つまり、あなたの親クラスでメンバーを作成できるように、すなわち、Context
サブクラスを指しています:
Context mContext;
はすなわちonCreate()
でそれを初期化します。
mContext= this;
とあなたからmContext
を使用しますリスナーのコード
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
これは 'new View.OnClickListener'の中にあれば、' Play。 this ' –
「コードはPlayクラスの一部です」をもう一度読んでください。あなたは内なる階級について話します。そしてそれは別のものです –
内部クラスは「別のクラスの一部」です、IMO :) –
あなたが探しているものはthis.getClass().getName()
だと思います。非修飾名のみを使用する場合は、代わりにthis.getClass().getSimpleName()
を使用してください。私はAndroidについて特にほとんど分かっていませんが、それはあなたがJavaで一般的にやる方法です。
- 1. クラス名の前にはどのように名前がありますか?
- 2. クラスの変数を自動的にその子クラスで使用できるようにするにはどうすればよいですか?
- 3. Rubyクラスの名前はどのように取得できますか?
- 4. 名前NSUserDefaults自動的に
- 5. はどのように自動的に
- 6. どのようにViewModelクラスに名前を付けますか?
- 7. Contextクラスはどのように使用できますか?
- 8. 名前で自動的にビューをバインド
- 9. 名前付きパイプはどのようにウィンドウ内で動作しますか?
- 10. どのように静的コンテキストで内部クラスを使用できますか?
- 11. finalクラスの動的プロキシはどのように作成できますか?
- 12. 名前が自動的に名前からラベルに変更されます
- 13. クラス名を自動的に名前変更するためのEclipse設定
- 14. ビジュアルスタジオスニペットに名前空間を自動的に挿入できますか?
- 15. zendモデルに複数の名前空間を使用することはできますか?どのように自動ロードしますか?
- 16. どのようにランダム矩形を(自動的に)作成できますか?
- 17. ループカウンタを使用すると、どのようにオブジェクトを動的に作成し、そのオブジェクトの名前付けにカウンタを使用できますか?
- 18. どのように自動的にJBuilder
- 19. どのようにCSSリファレンスを動的に使用できますか?
- 20. 私はクラスを自動的にリファクタリングして、自分が持っているフォルダのデフォルト名前空間を使うことができますか?
- 21. テンプレート参照変数にどのように動的に名前を付けることができますか?
- 22. Rubyで名前付きクラスを動的に定義する
- 23. クラスは自動的に自分自身の友人ですか?
- 24. 名前を自動的にaltタグ
- 25. どのように文字列パラメータを使用して他のクラスを自動的に初期化できるクラスを作成しますか
- 26. MercurialEclipseはtipという名前のタグを自動的に追加します
- 27. どのようにNHibernateで自動マップできますか?
- 28. は、二重引用符のためにどのようにスペースを含む名前を自分の名前に
- 29. どのように私は変数のクラス名にキャストできますか?
- 30. ウェブテンプレートではどの名前を使用できますか?
あなたはこれが表示される場所へともう少し文脈を示してもらえますか? 「クラス」とはどういう意味ですか? – tadman
私は試してみました: 'AlertDialog.Builder builder = new AlertDialog.Builder(this.getClass()。this)'それはうまくいきませんでした。 –
それは意味がありません... 'Context'変数が必要です。クラス '。そして 'getClass()。this'はコンパイルされません。 –