所以我一直在寻找一个半小时,但我无法理解。我不想设置自定义主题。我想为AlertDialog设置一个内置于android的主题。
根据d.android.com,我可以这样做:
public AlertDialog.Builder (Context context)
或者
public AlertDialog.Builder (Context context, int theme)
所以我这样做,它完美无缺:
AlertDialog action_btn = new AlertDialog.Builder(MyActivity.this).create();
但是,当我需要添加一个主题时,我从eclipse中得到一个错误:
AlertDialog action_btn = new AlertDialog.Builder(MyActivity.this, AlertDialog.THEME_TRADITIONAL).create();
如果有人可以帮我解决如何设置主题的话,我仍然非常擅长编程。
我还有一个红利问题:
我无法让AlertDialog()
工作,为了使其工作,我需要输入AlertDialog.Builder()
,但在开发人员网站上,他们似乎都有相同的方法和构造函数。有什么区别/为什么AlertDialog()
不起作用?
答案 0 :(得分:13)
将主题包装到上下文中,自API级别1起可用。
Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(
this,android.R.style.Theme_DeviceDefault_Light_Dialog));
答案 1 :(得分:4)
AlertDialog.Builder的主题仅适用于Android 3.0及更高版本(API级别11)。您似乎已在项目设置中设置了较早的Android版本。
Android参考资料显示了所有构造函数和方法的API级别。您甚至可以设置过滤器,仅向您显示API级别的可用方法。