博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android之自定义AlertDialog无法监听控件
阅读量:4632 次
发布时间:2019-06-09

本文共 1288 字,大约阅读时间需要 4 分钟。

         参考:

          要做一个自定义的弹出框,以前都是用一个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);
 

转载于:https://www.cnblogs.com/dyllove98/p/3235538.html

你可能感兴趣的文章
R. ftp软件
查看>>
List<T>中,Remove和RemoveAt区别
查看>>
十月回家记
查看>>
ZOJ 3735 dp
查看>>
android效果背景虚化
查看>>
jQuery效果:隐藏、显示、切换、滑动、淡入淡出、动画
查看>>
Java 学习笔记(4)——java 常见类
查看>>
IOS开源项目汇总
查看>>
用herl工具解决微信内链接或二维码可直接用外部浏览器打开
查看>>
GITHup的使用
查看>>
void main()是错的!
查看>>
Atitit. Attilax企业框架 AEF的发展里程总结
查看>>
亚麻 面经_ml
查看>>
豆瓣api
查看>>
SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复
查看>>
JMeter的安装和使用
查看>>
Es5正则
查看>>
Unicode,UTF-32,UTF-16,UTF-8到底是啥关系?
查看>>
Git 版本还原命令
查看>>
【C#技术】一篇文章搞掂:Infragistics组件库
查看>>