Android Alert Dialog Background Issue API 11 +

Crio umAlertDialog com o código abaixo. Por alguma razão, estou obtendo um plano de fundo extra (veja a foto) no Honeycomb e acima. O código crashes bom para qualquer coisa abaixo do favo de mel.MyCustomDialog e simplesTheme.Dialog para <API-11 eTheme.Holo.Dialog para API-11 e superior.

Alguma idéia de por que estou recebendo um plano de fundo extr Alguma idéia de por que ele falha na API <11? Funciona bem se eu remover o tema.

Atualiza descobriu a resposta para a pergunta 2. Parece o construtorAlertDialog.Builder(Context context, int theme) foi introduzido na API 11. Minha correção foi simplesmente alterar a linha para:

final AlertDialog.Builder builder = (Integer.parseInt(android.os.Build.VERSION.SDK) < 11)? new AlertDialog.Builder(this) : new AlertDialog.Builder(this,R.style.JumpDialog);

Ainda preciso de ajuda com a pergunta 1

private Dialog setupKeyBoardDialog() {
    if (mContact.getLocaleId() != -1) {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.MyCustomDialog);
        builder.setTitle("Keyboards");

        mKeyboardLayouts = new KeyboardLayoutGroup();
        mKeyboardLayouts.layoutNames = new CharSequence[(int) jni.getNumKeyLayouts()];
        mKeyboardLayouts.layoutValue = new ArrayList<Integer>();

        for (int i = 0; i < jni.getNumKeyLayouts(); i++) {
            mKeyboardLayouts.layoutNames[i] = jni.LayoutInfoForIndex(i).getName();
            mKeyboardLayouts.layoutValue.add(i, (int) jni.LayoutInfoForIndex(i).getLocale_id());
        }

        final int selectedItem = mKeyboardLayouts.layoutValue.indexOf(mContact.getLocaleId());

        builder.setSingleChoiceItems(mKeyboardLayouts.layoutNames, selectedItem, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int item) {
                mContact.setLocaleId(mKeyboardLayouts.layoutValue.get(item));
                mContactsDB.saveContact(mContact, true);

                dialog.dismiss();
                initializeSettingsList();
            }
        });

        final AlertDialog dialog = builder.create();
        dialog.setButton("Cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogBox, int arg1) {
                dialogBox.cancel();
            }
        });

        return dialog;
    }

    return null;
}

questionAnswers(3)

yourAnswerToTheQuestion