如何删除 AlertDialog.Multiple 选择中的第一个复选标记
How to remove a first check Mark in AlertDialog.Multiple Choice
在某处的 AlertDialog 中出现了另一个 checkMark Lollypop!我需要删除它并留下你自己的。提示,谁能面对?
警报对话框:
mSurchargeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean[] checkedItems = new boolean[surchargeListNames.length];
int count = surchargeListNames.length;
for (int i = 0; i < count; i++)
checkedItems[i] = selectedSurchargeItems.contains(surchargeListNames[i]);
AlertDialog.Builder builder = new AlertDialog.Builder(DetailsActivity.this, R.style.AlertDialogCustom);
builder.setMultiChoiceItems(surchargeListNames, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked)
selectedSurchargeItems.add(surchargeListNames[which]);
else
selectedSurchargeItems.remove(surchargeListNames[which]);
}
});
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog dialog = builder.create();
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.show();
}
样式:
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:checkMark">?android:attr/textCheckMark</item>
</style>
您也许可以定义一个扩展 Widget.AppCompat.CompoundButton.CheckBox
的样式
例如
<style name="mycheckbox" parent="Widget.AppCompat.CompoundButton.CheckBox">
<item name="android:button">@null</item>
</style>
和你的主要风格
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:checkMark">?android:attr/textCheckMark</item>
<item name="android:checkboxStyle">@style/mycheckbox</item>
</style>
虽然我还没有测试过这个。祝你好运!
在某处的 AlertDialog 中出现了另一个 checkMark Lollypop!我需要删除它并留下你自己的。提示,谁能面对?
警报对话框:
mSurchargeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean[] checkedItems = new boolean[surchargeListNames.length];
int count = surchargeListNames.length;
for (int i = 0; i < count; i++)
checkedItems[i] = selectedSurchargeItems.contains(surchargeListNames[i]);
AlertDialog.Builder builder = new AlertDialog.Builder(DetailsActivity.this, R.style.AlertDialogCustom);
builder.setMultiChoiceItems(surchargeListNames, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked)
selectedSurchargeItems.add(surchargeListNames[which]);
else
selectedSurchargeItems.remove(surchargeListNames[which]);
}
});
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog dialog = builder.create();
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.show();
}
样式:
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:checkMark">?android:attr/textCheckMark</item>
</style>
您也许可以定义一个扩展 Widget.AppCompat.CompoundButton.CheckBox
例如
<style name="mycheckbox" parent="Widget.AppCompat.CompoundButton.CheckBox">
<item name="android:button">@null</item>
</style>
和你的主要风格
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:checkMark">?android:attr/textCheckMark</item>
<item name="android:checkboxStyle">@style/mycheckbox</item>
</style>
虽然我还没有测试过这个。祝你好运!