下記のコードでは、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. クラスの変数を自動的にその子クラスで使用できるようにするにはどうすればよいですか?
- 4. Rubyクラスの名前はどのように取得できますか?
- 5. 名前NSUserDefaults自動的に
- 6. はどのように自動的に
- 7. どのようにViewModelクラスに名前を付けますか?
- 8. Contextクラスはどのように使用できますか?
- 9. 自動再読み込みはどのように使用できますか?
- 10. どのように静的コンテキストで内部クラスを使用できますか?
- 11. finalクラスの動的プロキシはどのように作成できますか?
- 12. 名前付きパイプはどのようにウィンドウ内で動作しますか?
- 13. 名前で自動的にビューをバインド
- 14. 名前の間に変数を使用してクラスを動的にします。
- 15. 名前が自動的に名前からラベルに変更されます
- 16. zendモデルに複数の名前空間を使用することはできますか?どのように自動ロードしますか?
- 17. ビジュアルスタジオスニペットに名前空間を自動的に挿入できますか?
- 18. クラス名を自動的に名前変更するためのEclipse設定
- 19. どのようにランダム矩形を(自動的に)作成できますか?
- 20. どのようにWebClientが自動的にフォルダを追加できますか?
- 21. どのように私は、疑似クラスを変更することができます(:後:前)は、動的に
- 22. どのように自動的にJBuilder
- 23. どのようにCSSリファレンスを動的に使用できますか?
- 24. ループカウンタを使用すると、どのようにオブジェクトを動的に作成し、そのオブジェクトの名前付けにカウンタを使用できますか?
- 25. テンプレート参照変数にどのように動的に名前を付けることができますか?
- 26. 私はクラスを自動的にリファクタリングして、自分が持っているフォルダのデフォルト名前空間を使うことができますか?
- 27. クラスは自動的に自分自身の友人ですか?
- 28. Rubyで名前付きクラスを動的に定義する
- 29. モジュールネームスペース内で動的に名前付きクラスを作成する
- 30. 自動的に再名前アップロード写真
あなたはこれが表示される場所へともう少し文脈を示してもらえますか? 「クラス」とはどういう意味ですか? – tadman
私は試してみました: 'AlertDialog.Builder builder = new AlertDialog.Builder(this.getClass()。this)'それはうまくいきませんでした。 –
それは意味がありません... 'Context'変数が必要です。クラス '。そして 'getClass()。this'はコンパイルされません。 –