the constructor AlertDialog.Builder(new View.OnClickListener() ) is undefined



安卓AlertDialog的使用,但是却出现了该错误:the constructor AlertDialog.Builder(new View.OnClickListener() ) is undefined,我的代码如下:

protected void showChangTextSizeDialog() {
   AlertDialog.Builder builder = new Builder(NewsDetailActivity.this);
   builder.setTitle("设置文字大小");
   String[] items ={"超大字号","大字号","正常字号","小字号","超小字号"};
   builder.setSingleChoiceItems(items, realTextSize, new DialogInterface.OnClickListener() {
    
    

    @Override
    public void onClick(DialogInterface dialog, int which) {
     tempTextSize = which;
     
    }
   });
   builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
    
    @Override
    public void onClick(DialogInterface dialog, int which) {
     // TODO Auto-generated method stub
     realTextSize = tempTextSize;
     //设置文字大小
     changTextSize(realTextSize);
     
    }
   });
   builder.setPositiveButton("取消", null);
   
   builder.show();
   
  }

  /**
   * 设置位置大小
   * @param realTextSize2
   */
  protected void changTextSize(int realTextSize) {
   // TODO Auto-generated method stub
   switch (realTextSize) {
   case 0://超大
    settings.setTextSize(TextSize.LARGEST);
    break;
   case 1:
    settings.setTextSize(TextSize.LARGER);
    break;//大字号
   case 2:
    settings.setTextSize(TextSize.NORMAL);
    break;//正常字号
   case 3:
    settings.setTextSize(TextSize.SMALLER);
    break;//小字号
   case 4:
    settings.setTextSize(TextSize.SMALLEST);
    break;//超小字号

   default:
    break;
   }

查找了AlertDialog的源代码,也没能发现该问题,因为出错的原因是:Builder builder=new Builder(this) 该方法里面的this为当前类OnClickListener的实例,而不是我们想要赋值NewsDetailActivity.this,所以,只需要把this改为NewsDetailActivity.this。

问题解决~

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值