我遇到了这个问题,不知道如何修复它。在这里我的清单
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/Theme.AppCompat.NoActionBar" />
这里是我在listAdapter中的onclick
holder.iconDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//need to confirm it first
new AlertDialog.Builder(context)
.setTitle("Delete Setcard")
.setMessage("Do you really want to delete setcard?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//run API volley
deleteSetcard(setcard_id);
}})
.setNegativeButton(android.R.string.no, null).show();
}
});
我尝试了其他解决方案,例如使用Theme.AppCompat.Light更改主题
但没有工作
答案 0 :(得分:0)
我希望这对你有所帮助
<style name="myDialog" parent="Theme.AppCompat.Dialog">
<item name="android:windowNoTitle">true</item>
...
</style>
的
new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.myDialog));
答案 1 :(得分:0)
使用AppCompat主题时,您必须确保您的活动扩展AppCompatActivity
,并确保从Android支持库导入android.support.v7.app.AlertDialog
而不是android.app.AlertDialog
答案 2 :(得分:0)
试试这个
<style name="InvitationDialog"
parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorAccent">@color/blue</item>
<item name="android:textColorPrimary">@color/gray</item>
<item name="android:editTextColor">@color/gray</item>
<item name="android:background">@color/white</item>
</style>
代码
new AlertDialog.Builder(context,R.style.InvitationDialog)
.setTitle("Delete Setcard")
.setMessage("Do you really want to delete setcard?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton("Yes", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int
whichButton) {
//run API volley
deleteSetcard(setcard_id);
}})
.setNegativeButton("No", null).show();
}
});
答案 3 :(得分:0)
我面对这样的案件,并设法解决了这个问题。在这里:
在MainActivity类中定义警报对话框,例如:
public class MainActivity extends AppCompatActivity {
AlertDialog.Builder alertDialog;
然后在OnCreate()方法上对其进行初始化,如下所示:
alertDialog = new AlertDialog.Builder(this);
然后,您可以在任意位置进行其余的警报对话框自定义,如图标,标题,消息。就我而言,我在倒数计时器的onFinish()中使用了它,如下所示:
public void onFinish() {
alertDialog.setIcon(android.R.drawable.alert_light_frame);
alertDialog.setTitle("You are done");
alertDialog.setMessage("you got it");
alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
runTheCode();
}
});
alertDialog.show();