【发布时间】:2015-04-16 23:46:06
【问题描述】:
我在做什么:
- 我在活动中使用这个
- 我的活动扩展了 ActionBarActivity
- 我的最小 sdk 在清单中是 8 个
我得到的错误是:
Call requires API level 11 (current min is 8): new android.app.AlertDialog.Builder
代码
public void openSettings(String custMsg){
final AlertDialog.Builder alert = new AlertDialog.Builder(this,AlertDialog.THEME_DEVICE_DEFAULT_DARK);
alert.setMessage(custMsg);
alert.setCancelable(false);
alert.setNegativeButton(getResources().getString(R.string.Cancel), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
tryAgainId.setVisibility(View.VISIBLE);
}
});
alert.setPositiveButton(getResources().getString(R.string.Ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
locationValidationDone=true;
dialog.dismiss();
startActivity(new Intent(Settings.ACTION_SETTINGS));
}
});
alert.show();
}
问题:
我该如何解决这个问题
【问题讨论】:
-
AlertDialog.Builder(context,theme)在 API 级别 11 中添加,但最小 sdk 为 8。为避免此错误,请在方法前使用AlertDialog.Builder(context)或 @NewApi -
@ρяσѕρєя K .........是的,修复! ...所以如果我需要像我所做的那样为对话框使用自定义样式...只有使用更高 API 的方式?
-
@Devrath : 请参阅How to change theme for AlertDialog 帖子以在 api 级别 11 之前设置自定义主题
-
@Devrath 你要选择一个答案吗?谢谢!
标签: android