Dialog出错问题

想要实现点击ListView的Item中的某个按钮的时候,弹出一个Dialog,但是一直报错

 public  void removeDialog(String title,String msg)
    {
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
//        builder.setIcon(R.drawable.down);
        builder.setTitle("自定义布局");
        builder.setMessage(msg);
        builder.setNegativeButton("取消",null);
        builder.setPositiveButton("确定", new android.content.DialogInterface.OnClickListener() {   

             public void onClick(DialogInterface dialog, int which) {   

            dialog.dismiss();   
  
             }   

             });   
        builder.create().show();
    }
      

Button是在listview自己写的Adapter中实现点击的,如下

holder.present_remove.setOnClickListener(new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					// TODO Auto-generated method stub
				        cma=new ConferenceManagementActivity();//removeDialog()放在这个activity中,注册一下这个activity;
					cma.removeDialog();
					
				}
			});

AlertDialog.Builder(arg0) 的参数是 Context 类型的,这的 this ,写在 Button.OnClickListener 里,其实是指的 Button.OnClickListener, 而并不是Context .
将this写成当前activity.this。AlterDialog.Builder(this)中的this并没有表示当前的activity,所以可以的一个做法是定义一个Activity的变量mActivity,在onCreate方法中让其等于this,然后调用mActivity.

所以我的解决办法是将AlertDialog.Builder(this)中的this改为ConferenceManagementActivity.this

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值