当前位置: 代码迷 >> Android >> 请问语法,这种代码里创建按钮响应的方式,理解不太好
  详细解决方案

请问语法,这种代码里创建按钮响应的方式,理解不太好

热度:33   发布时间:2016-04-28 00:24:58.0
请教语法,这种代码里创建按钮响应的方式,理解不太好
我做c++,多一些,最近稍微过了一下java的语法,然后看一些android入门书

看到如下的写法
 

dialButton.setOnClickListener(new View.OnClickListener() {  
              
            @Override  
            public void onClick(View arg0) {  
                String phoneNumText = phoneNum.getText().toString();  
                  
                if(( phoneNumText != null) && (!"".equals(phoneNumText.trim()))){    
//                    Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+phoneNumText));    
                    Intent intent = new Intent();  
                    intent.setAction(Intent.ACTION_CALL);  
                    intent.setData(Uri.parse("tel:" + phoneNumText));  
                    startActivity(intent);    
                }    
            }  
        });


总之是setOnClickListener函数的参数貌似是一个函数指针
然后就在括号里面直接new
但是这种new又像是在重载View.OnClickListener()函数

总之感觉好乱,java语法直接支持这么写吗,这种直接new 一个类的静态函数?

分不多,全当交流吧

------解决思路----------------------
OnClickListener是一个接口,不想直接new出来的话,也可以写一个类继承它,然后再实例化并设置。Android里面的设置监听传的都是接口形式的参数。
------解决思路----------------------
这个叫java 的匿名内部类,java虚拟机编译的时候还是会生成一个类的
------解决思路----------------------
看多了就习惯了,内部类。看android书前可以先把thinking in java看下
------解决思路----------------------
引用:
多谢大家,要是个接口就好理解多了,另外我发现androidsdk里面的文档 很难搜索,不想msdn那样很容易就搜到系统函数, 类什么的说明,不知道各位都是怎么察看文档的 ,我现在都是搜索引擎多一点

我直接用doc里的index页面的搜索功能,不知道为什么,总是不能定位到具体的说明处


可以下载源码,然后导入到eclipse。具体你可以晚上查下。
------解决思路----------------------
同楼上,直接下载源码导入进来。然后用那个类的时候,点击去看源码就好,源码也有注释的
  相关解决方案