java中声明内部类变量,java – 从内部类中访问变量(dialogView),需要声明final
我正在尝试创建一个带有布局“是”或“否”的警告对话框.我想通过单击“否”按钮但是对话框View.dismiss()来关闭对话框;有错误.
这是我的代码.
private void showCancelOrderDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
LayoutInflater inflater = this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.dialog_details_cancel_order, null);
builder.setView(dialogView);
ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.WHITE);
SpannableStringBuilder ssBuilder = new SpannableStringBuilder(db_title);
ssBuilder.setSpan(foregroundColorSpan,0,db_title.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setTitle(ssBuilder);
yes = dialogView.findViewById(R.id.btn_yes);
yes.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
}
});
no = dialogView.findViewById(R.id.btn_no);
no.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialogView.dismiss();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
解决方法:
从这里更改dialogView的定义:
View dialogView = inflater.inflate(R.layout.dialog_details_cancel_order, null);
……对此:
final View dialogView = inflater.inflate(R.layout.dialog_details_cancel_order, null);
可以通过2种方法看到dialogView的原因:托管整个代码段的方法,以及匿名View.OnClickListener类中的onClick.
如果两个方法看到相同的局部变量,Java希望您使其成为最终的.有效排除未来该领域发生变化的可能性.
与缺少引用参数一起,此规则确保仅在其所属的方法中分配局部变量.因此代码更具可读性.
标签:java,android,android-layout,xml,android-studio
来源: https://codeday.me/bug/20190627/1305043.html
java中声明内部类变量,java – 从内部类中访问变量(dialogView),需要声明final相关推荐
- c java 内部类_java程序中能否在内部类当中再定义一个内部类?
展开全部 我被你的想62616964757a686964616fe78988e69d8331333363386664法震撼了,哈哈.亏你想的出来...这么弄代码不好理解,Java看起来醒目,也是Jav ...
- Java学习路线图,内附完整Java自学视频教程+工具经验
Java学习路线图更新日志: 增加视频<2016最新视频struts2> 密码:vhfp(2016.11.10) 增加视频<6天玩转mysql视频> 密码:a8 ...
- 局域网聊天程序 java MySQL_课内资源 - 基于JAVA的局域网聊天软件的设计与实现(仿制QQ)...
一.系统分析 1.1 问题描述客户端 实现简易版的局域网聊天器 实现富文本内容聊天 智能聊天机器人 群发消息 传送文件等功能 服务器端 实现群发通知 管理聊天线程 1.2 系统功能分析客户端功能 登陆 ...
- mysql中没有内置函数_[mysql]MySQL中的内置函数
用在select 语句,以及子句where order by hacing 中 update delete 函数中可以将字段名作为字段来用,变量的值就是这个列对应的每一行记录 ...
- hbase java api count_HBase内置过滤器java api的总结
1.RowFilter:筛选出匹配的所有的行(使用过)//rowkey 等于 test|id9 Filter filter=new RowFilter(CompareOperator.EQUAL,ne ...
- JavaScript中的内置对象-8--4.date对象中-获取,设置日期时间的方法; 获取,设置年月日时分秒及星期的方法;...
学习目标 1.掌握创建日期对象的方法 2.掌握date对象中获取日期时间的方法 3.掌握date对象中设置日期时间的方法 如何创建一个日期对象 语法:new Date(); 功能:创建一个日期时间对象 ...
- 邮件中html内嵌图片,在html电子邮件中嵌入图像
尝试直接插入,这样您就可以在电子邮件的不同位置插入多个图像. 并且要使这篇文章对其他人有用:如果你没有base64数据字符串,可以从图像文件中轻松地创建一个:http: //www.motobit.c ...
- 在Java内部类中使用外部类的成员方法以及成员变量
http://blog.csdn.net/zhongyili_sohu/article/details/8975947 众所周知,在定义成员方法或者成员变量的时候,可以给其加上一些权限的修饰词,以防止 ...
- java学习笔记9--内部类总结
java学习笔记系列: java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对 ...
最新文章
- BeanShell变量的基本范围
- mysql useradd_useradd失败
- 一篇对伪共享、缓存行填充和CPU缓存讲的很透彻的文章
- checkbox 与文字对齐
- MSSSQL 脚本收藏
- boost::iostreams::example::container_source用法的测试程序
- html里下拉标记,HTML: select 标签
- 利用反射获得类的public static/const成员的值
- 面试题 03.04. 化栈为队/面试题09. 用两个栈实现队列/232. 用栈实现队列
- 《Arduino开发实战指南:机器人卷》一2.4 时间函数
- springBean的作用域
- 如何把pdf文件转换为excel表格
- 泰坦尼克号-决策树模型
- 给大家推荐下这几年看过的觉得不错的视频教程
- java做 binggo,CONTRIBUTING.md
- unity车漆模拟ASE
- Java如何实现阶梯字符型输出
- Pandas之skew,求偏度
- 桌面html文件图标异常,.htm.html文件图标无法显示的解决办法
- 怎么把ogg音频格式转换为mp3
热门文章
- c语言编程能控制热风炉,利用C语言设计热风炉悬链线拱顶研究.pdf
- MySQL DATE_FORMAT() 函数
- object转成实体对象_Object.assign 原理及其实现
- html里面的crossorigin属性,HTML5 标签里的 crossorigin 属性到底有什么用? | Chrisyue's Blog...
- linux安装redis教程yum,linux下yum安装redis以及使用
- java服务端同时接收和发送_如何实现客户端接收数据和发送数据的同步?
- css表格文字超数量就竖排_绝了,超轻量级中文 OCR,你值得拥有
- 皮一皮:据说烤红薯都是这样的...
- 9 个 Java 性能调优技巧,YYDS!
- 从零到两百台服务器的创业野蛮生长史