この質問はちょっと奇妙に聞こえるかもしれませんが、Java で定数を呼び出すにはどうすればよいですか? 問題は、AlertDialog Android クラスで遊んでいるということです。このクラスには保護されたコンストラクターがあるため、ダイアログを作成しているアクティビティ クラスでそれらを呼び出すことはできません。そこで、次のように子 AlertDialog クラスを作成し、そのコンストラクターを公開しました。
public class TestAlert extends AlertDialog {
public TestAlert(Context context) {
super(context);
}
public TestAlert(Context context, int theme) {
super(context, theme);
}
}
そして、そのようなダイアログを作成しました:
TestAlert ta = new TestAlert(con, AlertDialog.THEME_DEVICE_DEFAULT_DARK);
ta.setMessage("Hello");
ta.show();
ここで奇妙なのは、このコードが間違っAlertDialog.THEME_DEVICE_DEFAULT_DARK
ているということです。その理由がわかりません。
AlertDialog クラスに関するAndroid 開発者ページから、これらのテーマが定数であることを明確に確認できます。(パブリック、静的、最終)。それらは静的であるため、クラス名の後にドットを付けて呼び出す必要があります。こちらも公開ですので問題ありません。しかし、奇妙なことは、私にはそれができないということです。しかし、定数名の代わりに数値を渡すと、次のように機能します。
new TestAlert(con, 2);
ps:AlertDialog.Builder
ダイアログの作成に使用する必要があることはわかっています。しかし、私は「探検している」と呼びましょう。
助けてください。