Android之自定义AlertDialog无法监听控件

         参考:http://www.cnblogs.com/511mr/archive/2011/10/21/2220253.html

          要做一个自定义的弹出框,以前都是用一个Activity来实现,总觉得不是很好看,弹出的框有时候感觉有点大,所以上网查资料说,可以给AlertDialog自定义一个view就行了,代码如下

AlertDialog dialog = new AlertDialog.Builder(
						XXXXActivity.this).create();	
				dialog.show();//该代码一定要放在给dialog设置自定义view的前面
				 Window window = dialog.getWindow();
				 window.setContentView(R.layout.termail_handle_dialog);


 

       


          这样可以完全展示出你所定义的view,但是该view中我添加了两个ImageView,需要对ImageView设置监听器,我是用下面方法做的,代码如下

 

  LayoutInflater factory = LayoutInflater.from(TermailFetchActivity.this);
  final View view = factory.inflate(R.layout.termail_handle_dialog, null);
  ImageView scanAddTermail = (ImageView) view.findViewById(R.id.scan_termail);			    
  ImageView writeAddTermail = (ImageView) view.findViewById(R.id.write_termail);
  scanAddTermail.setOnClickListener(new android.view.View.OnClickListener() {

	       @Override
	       public void onClick(View v) {
	 Toast.makeText(getApplicationContext(), "scanImage", Toast.LENGTH_SHORT).show();
					}

					
				});				
				

怎么都监听不到该控件。后来发现网上用下面方法可以监听到。代码如下

       
 Window window = dialog.getWindow();
				 window.setContentView(R.layout.termail_handle_dialog);				
				 ImageView scanAddTermail = (ImageView) window.findViewById(R.id.scan_termail);
				ImageView writeAddTermail = (ImageView) window.findViewById(R.id.write_termail);
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值