zoukankan      html  css  js  c++  java
  • 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);
     
  • 相关阅读:
    数组(Array)
    js数据类型自动转化规律
    ES6-12.Symbol
    彻底搞懂prototype和__proto__
    API测试利器——Postman(1. 安装和启动)
    全国各城市的代码邮编sql(mysql版)
    SQL执行的顺序
    jQuery $.each用法
    使用maven工具对maven项目进行打包所出现的问题
    关于Notepad++中用正则表达式匹配中文的问题
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3235538.html
Copyright © 2011-2022 走看看