我正在尝试创建一个带有布局“是”或“否”的警告对话框.我想通过单击“否”按钮但是对话框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相关推荐

  1. c java 内部类_java程序中能否在内部类当中再定义一个内部类?

    展开全部 我被你的想62616964757a686964616fe78988e69d8331333363386664法震撼了,哈哈.亏你想的出来...这么弄代码不好理解,Java看起来醒目,也是Jav ...

  2. Java学习路线图,内附完整Java自学视频教程+工具经验

    Java学习路线图更新日志:         增加视频<2016最新视频struts2> 密码:vhfp(2016.11.10) 增加视频<6天玩转mysql视频> 密码:a8 ...

  3. 局域网聊天程序 java MySQL_课内资源 - 基于JAVA的局域网聊天软件的设计与实现(仿制QQ)...

    一.系统分析 1.1 问题描述客户端 实现简易版的局域网聊天器 实现富文本内容聊天 智能聊天机器人 群发消息 传送文件等功能 服务器端 实现群发通知 管理聊天线程 1.2 系统功能分析客户端功能 登陆 ...

  4. mysql中没有内置函数_[mysql]MySQL中的内置函数

    用在select  语句,以及子句where   order  by    hacing  中    update   delete 函数中可以将字段名作为字段来用,变量的值就是这个列对应的每一行记录 ...

  5. hbase java api count_HBase内置过滤器java api的总结

    1.RowFilter:筛选出匹配的所有的行(使用过)//rowkey 等于 test|id9 Filter filter=new RowFilter(CompareOperator.EQUAL,ne ...

  6. JavaScript中的内置对象-8--4.date对象中-获取,设置日期时间的方法; 获取,设置年月日时分秒及星期的方法;...

    学习目标 1.掌握创建日期对象的方法 2.掌握date对象中获取日期时间的方法 3.掌握date对象中设置日期时间的方法 如何创建一个日期对象 语法:new Date(); 功能:创建一个日期时间对象 ...

  7. 邮件中html内嵌图片,在html电子邮件中嵌入图像

    尝试直接插入,这样您就可以在电子邮件的不同位置插入多个图像. 并且要使这篇文章对其他人有用:如果你没有base64数据字符串,可以从图像文件中轻松地创建一个:http: //www.motobit.c ...

  8. 在Java内部类中使用外部类的成员方法以及成员变量

    http://blog.csdn.net/zhongyili_sohu/article/details/8975947 众所周知,在定义成员方法或者成员变量的时候,可以给其加上一些权限的修饰词,以防止 ...

  9. java学习笔记9--内部类总结

    java学习笔记系列: java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对 ...

最新文章

  1. BeanShell变量的基本范围
  2. mysql useradd_useradd失败
  3. 一篇对伪共享、缓存行填充和CPU缓存讲的很透彻的文章
  4. checkbox 与文字对齐
  5. MSSSQL 脚本收藏
  6. boost::iostreams::example::container_source用法的测试程序
  7. html里下拉标记,HTML: select 标签
  8. 利用反射获得类的public static/const成员的值
  9. 面试题 03.04. 化栈为队/面试题09. 用两个栈实现队列/232. 用栈实现队列
  10. 《Arduino开发实战指南:机器人卷》一2.4 时间函数
  11. springBean的作用域
  12. 如何把pdf文件转换为excel表格
  13. 泰坦尼克号-决策树模型
  14. 给大家推荐下这几年看过的觉得不错的视频教程
  15. java做 binggo,CONTRIBUTING.md
  16. unity车漆模拟ASE
  17. Java如何实现阶梯字符型输出
  18. Pandas之skew,求偏度
  19. 桌面html文件图标异常,.htm.html文件图标无法显示的解决办法
  20. 怎么把ogg音频格式转换为mp3

热门文章

  1. c语言编程能控制热风炉,利用C语言设计热风炉悬链线拱顶研究.pdf
  2. MySQL DATE_FORMAT() 函数
  3. object转成实体对象_Object.assign 原理及其实现
  4. html里面的crossorigin属性,HTML5 标签里的 crossorigin 属性到底有什么用? | Chrisyue's Blog...
  5. linux安装redis教程yum,linux下yum安装redis以及使用
  6. java服务端同时接收和发送_如何实现客户端接收数据和发送数据的同步?
  7. css表格文字超数量就竖排_绝了,超轻量级中文 OCR,你值得拥有
  8. 皮一皮:据说烤红薯都是这样的...
  9. 9 个 Java 性能调优技巧,YYDS!
  10. 从零到两百台服务器的创业野蛮生长史