android2.3 fragment,Android 3.2 - 在DialogFragment中自定义AlertDialog按钮

我创建了一个扩展DialogFragment的类,它在onCreateDialog方法中返回一个AlertDialog,就像here一样。

问题是,我想增加标准(正)按钮的高度,但我无法控制它来改变它的高度。

当我在DialogFragment的onCreateDialog方法中执行以下操作时

mAlertDialog = new AlertDialog.Builder(getActivity())

.setView(messageView)

.setCustomTitle(titleView)

.setPositiveButton(R.string.dialog_button,

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

((ContextSwapUserInterface) getActivity()).instructionsAccepted();

}

}

)

.create();

mAlertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setHeight(60);我收到一个异常,它说“...无法实例化ComponentInfo ...”

我想这是因为Button在这个时候没有正确实例化

所以我在创建DialogFragment并调用它的.show方法后,试图在我的主要活动中获取按钮:

// Create and show a new InstructionsDialogFragment

DialogFragment instructionsDialogFragment = InstructionsDialogFragment.newInstance(mInstructions);

instructionsDialogFragment.show(getFragmentManager(), "Instructions Dialog");

((Button) instructionsDialogFragment.getDialog().findViewById(android.R.id.button1)).setHeight(60);我也尝试了以下,而不是上面的最后一行:

((AlertDialog) instructionsDialogFragment.getDialog()).getButton(AlertDialog.BUTTON_POSITIVE).setHeight(60);这两个版本都会导致NullPointerException。在使用DialogFragment时有没有简单的方法来定制AlertDialog的Button?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值