implements-setOnClickListener初级问题

问题描述

setOnClickListener初级问题

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button bt_call=(Button)findViewById(R.id.bt_call);
    bt_call.setOnClickListener(new MyListener());
}
class MyListener implements OnClickListener
{

    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
    EditText et_number=(EditText)MainActivity.this.findViewById(R.id.et_number);
    String num=et_number.getText().toString();

    Intent intent=new Intent();
    intent.setAction(Intent.ACTION_CALL);
    intent.setData(Uri.parse("tel:"+num));
    startActivity(intent);
    }
}

    源代码如上,请问:setOnClickListener中的参数是一个实现onClickListener接口的类,为什么  “bt_call.setOnClickListener(new MyListener());”这句话会报错,错误内容是“The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (MainActivity.MyListener)”

解决方案

setOnClickListener的参数和你的内部类的OnClickListener不是同一个。应该写implements View.OnClickListener

解决方案二:

楼上的正解,可以让Activity继承View.OnClickListener,或者使用匿名类

 private void onClickListener = new View.OnClickListener(){
 @Override
 public void onClick(View v){
 ........
 }
 };

也可以在按钮的xml的属性中设置android:onClick="onClickMethod",
然后在Activity中实现onClickMethod(View v)方法就行。这个方法名可以自己设置。

解决方案三:

对了,你实现的应该是Dialog的点击事件。

时间: 2024-12-31 11:57:58

implements-setOnClickListener初级问题的相关文章

[Android] 底部菜单布局+PopupWindows实现弹出菜单功能(初级篇)

    这篇文章主要是自己研究如何对底部菜单进行布局,并简单的实现点击不同"按钮"实现图片切换和背景切换的功能,最后通过PopupWindows实现弹出菜单,点击不同按钮能实现不同方法,相当于美图秀秀编辑图片的功能吧!它并没有涉及到Fragment碎片切换页面的功能,因为页面始终显示被处理的图片.这是我初学Android的一篇基础性文章和在线思想笔记,网上有很多更优秀的demo,不过也希望对大家有用~     首先介绍两种方法实现底部菜单点击不同图标显示选中状态的效果.    (可参考

button-安卓问题:按钮的setOnClickListener

问题描述 安卓问题:按钮的setOnClickListener 在我的安卓应用里面有报错: The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (MainActivity) 我的代码很简单,找不到错误在那儿?谢谢好心人帮忙指点: public class MainActivity extends Activity { @Override p

Android开发笔记之Intent初级学习教程_Android

本文讲述了Android开发笔记之Intent初级学习教程.分享给大家供大家参考,具体如下: 项目创建步骤: New Android Project-> Project name:Intent Build Target:Android 2.2 Application name:IntentDemo Package name:com.b510.intent.activity Create Activity:MainActivity Min SDK Version:8 Finish 1.拨打电话 按

Android开发笔记之Intent初级学习教程

本文讲述了Android开发笔记之Intent初级学习教程.分享给大家供大家参考,具体如下: 项目创建步骤: New Android Project-> Project name:Intent Build Target:Android 2.2 Application name:IntentDemo Package name:com.b510.intent.activity Create Activity:MainActivity Min SDK Version:8 Finish 1.拨打电话 按

AJAX初级应用-RSS无刷新聚合器的代码与下载

ajax|rss|刷新|无刷新|下载 rss.js[复制此代码]CODE:<!-- //控制ID function getId(objId){     return document.getElementById(objId) } //链接对应数组,请注明转载自http://www.cnrui.cn/blog function urlArrary(urlName){     switch(urlName){         case "clear":             re

Windows 2000 安全检查清单-初级篇

其实,Windows2000 含有很多的安全功能和选项,如果你合理的配置它们,那么windows 2000将会是一个很安全的操作系统. 具体清单如下: 初级安全篇 1.物理安全 服务器应该安放在安装了监视器的隔离房间内,并且监视器要保留15天以上的摄像记录.另外,机箱,键盘,电脑桌抽屉要上锁,以确保旁人即使进入房间也无法使用电脑,钥匙要放在另外的安全的地方. 2.停掉Guest 帐号 在计算机管理的用户里面把guest帐号停用掉,任何时候都不允许guest帐号登陆系统.为了保险起见,最好给gue

初级VPS入手一篇通

虽然我也是菜鸟但是还是没办法,因为今天给某人代购了一个VPS,但是呢这鸟人居然告诉我说不会用,被逼写了VPS的菜鸟教程:初级VPS入手一篇通.不敢保证什么,因为这里都是借用的别人的东西,但是看了这篇文章你至少在你的linuxVPS上简单的挂个小网站还是没问题的. 首先注册好VPS后必然会收到资料:一个是你在VPS供应商网站上面的用户名和密码(这个一般在你注册的时候自己填写,多数都是WHMCompleteSolution这家公司的杰作,以quickweb这家VPS商为例,参见图1),还有一个就是V

教你如何成为一名Java初级程序员

程序|程序员 目前,JAVA是开发人员的热宠,很多论坛都有不少热爱JAVA的开发人员,也有不少想成为JAVA程序员,但苦于不知道该如何学习,也不清楚该学些什么知识才能成为一个JAVA程序员.本人在这里抛砖引玉,和大家讨论成为一个JAVA初级程序员应该具有的知识,与大家共享. 个人认为想成为一个合格的JAVA初级程序员应该具备如下知识: 一.面向对象的知识:JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;

初级站长说“软文”

恩!今天来谈谈软文吧,还是老调调,我们有没有未来?坚持了才能知道,别人的非言非语一切都是纸飞机,能飞多远?能用什么威慑力?       我永远都是这样一个人,做什么没有结果我不会罢休,希望大家坚持下去!人要出名猪要壮站长的考虑一定要在重点上!而不是天天想着未来而不看看脚下的路,我很努力的做到自己该做的事,希望大家多多支持我,重点初级站长不是那么容易起来的也不是那么容易就沉沦在这茫茫的互联网大海的! 回到主题了,今天来谈谈SEO博客营销-软文,我不是个经验非常丰富的人,但是我个懂得观察事物的人,我