In the below code if i remove the keyword final from EditText i am an getting error in the line (6) where i pass EditText object (et) to the intent...I have to knw the significance of final keyword here...

在下面的代码中,如果我从EditText中删除了关键字final,我在第(6)行中出现了一个获取错误,我将EditText对象(et)传递给意图……我必须知道final关键字的意义……

final EditText et=(EditText)findViewById(R.id.t);
        Button b=(Button)findViewById(R.id.b1);
        b.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v)<br>
            {
            Intent on=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+et.getText()));
            startActivity(on);
            }
        });

7 个解决方案

#1


15

It is because you use closure here. It means that inner class uses the context of the inbounded one. To use it the variables should be declared final in order not to be changed.

因为这里使用了闭包。它意味着内部类使用无界类的上下文。为了使用它,变量应该被声明为final,以便不被更改。

See more here.

看到更多。

更多相关文章

  1. java中final关键字详解
  2. java关键字个人理解
  3. 牛客网Java刷题知识点之同步方法和同步代码块的区别(用synchroniz
  4. 匿名内部类--毕向东java基础教程学习笔记
  5. Java从零开始学二(标识符和关键字)

随机推荐

  1. Google:Android 2.3在所有Android系统设备
  2. 搭建Android应用程序的服务器
  3. Android游戏Graphics绘图之图像像素操作
  4. 价格战拉上了Android平板电脑
  5. Android与linux的区别与联系
  6. 浅析RxJava 1.x&2.x版本区别及原理(三):1.x
  7. Android Framework 分析---3PackageManag
  8. Android程序员指南(3)
  9. Android APP UI卡顿的原理
  10. 查看Android(安卓)API文档的正确方式