2 qq 34673620 qq_34673620 于 2016.04.15 17:37 提问

在安卓学习中遇到的问题:setOnClickListener()方法的问题

package com.example.phonecaller;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

EditText et_number=(EditText)findViewById(R.id.editText1);
Button btn_call=(Button)findViewById(R.id.button1);
btn_call.setOnClickListener(1);//这里报的错是Syntax error on token(s), misplaced construct(s)

}

而且我打开这个Button类的原文件只找到了三个方法,并没有setOnClickListener()

新人刚刚入门的安卓开发还望各位大神指点指点

7个回答

CSDNXIAON
CSDNXIAON   2016.04.15 17:42

安卓学习遇到的问题
安卓编译环境遇到的问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_15002323
qq_15002323   2016.04.15 17:55

我去,往上面找啊,button是继承view的,你应该找view的源码

qq_34673620
qq_34673620 嗯嗯看到了,谢谢师兄
2 年多之前 回复
qiaoweiya
qiaoweiya   2016.04.15 17:59

button继承view,view里面有setonclicklistener

qq_34673620
qq_34673620 好的,谢谢师兄
2 年多之前 回复
maowei117
maowei117   2016.04.15 18:02

Button是TextView的子类,TextView是View的子类,setOnClickListener是View中的方法。
你的方法的调用不能写在onCreate的外面,这样执行的时候是没办法执行到这一步的。

 EditText et_number=(EditText)findViewById(R.id.editText1);
Button btn_call=(Button)findViewById(R.id.button1);
btn_call.setOnClickListener(1);//这里报的错是Syntax error on token(s), misplaced construct(s)

把这几句写到onCreate里面去

然后你的setOnClickListener还需要传入一个OnClickListener的实现作为参数。

qq_34673620
qq_34673620 谢谢师兄~
2 年多之前 回复
qq_34673620
qq_34673620 所以说View是总的父类?然后他们之间的类不同仅仅是继承了不同的借口?
2 年多之前 回复
eyishion
eyishion   2016.04.15 18:50

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText et_number=(EditText)findViewById(R.id.editText1);
Button btn_call=(Button)findViewById(R.id.button1);
btn_call.setOnClickListener(1);
}
应该是上面那样l来写,要写到方法里面去,你写到方法外面去了,所以会包语法错误;

这里报的错是Syntax error on token(s), misplaced construct(s) 意思就是语法错误;

qq_34673620
qq_34673620 谢谢师兄,我自己仔细看了看还真是,不好意思了犯这种低级错误
2 年多之前 回复
Yee_XU
Yee_XU   2016.04.16 13:53

setOnClickListener这句代码要写到方法里面啊,写到外面是成员方法和变量

crazy1235
crazy1235   Ds   Rxr 2016.04.16 18:24

代码要写到onCreate()里面去。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android学习中遇到的问题及解决方案
1.搭建开发环境时遇到的问题:初装Android Studio,首次运行报错:Error running app: Instant Run requires ‘Tools | Android | Enable ADB integration’ to be enabled. 解决方案: 根据提示,勾选Tools | Android | Enable ADB integration ADB(And
学习安卓开发以来遇到的问题
1.Genymotion模拟器启动后白屏的问题 通过更新显卡驱动程序解决 2.Oracle VM VirtualBox 提示 VT-x AMD-v 没有启用 去BIOS启用虚拟化相关项 3.在模拟器运行安卓应用时提示ADB异常 把Genymotion的ADB设置为use custom Android SDK tools。 4.Android SDK6在运行时报错:You need to
安卓app开发遇到的问题以及解决方法
1 出现类似问题: [2017-09-07 20:07:22 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。 [2017-09-07 20:07:23 - DeviceMonitor] Connection attempts: 1 [2017-09-07 20:11:54 - DeviceMonitor] Adb connect
学习Java Web开发中遇到的问题,及其解决方法
摘要: 最基本的乱码问题 表单使用Post方式提交后接收到的乱码问题 表单get提交方式的乱码处理方式 上传文件时的乱码解决 Java代码关于url请求,接受参数的乱码 脚本代码关于url请求,接受到的参数乱码 关于jsp在MyEclipse中打开的乱码问题 关于html页面在eclipse中打开出现乱码情况 目录: 最基本的乱码问题 表单使用Post方式提交后接收到的乱码问.
html中一些常见问题的解决方法
扯扯淡:第一次写博客,最近在学习html5,把遇到的坑记录下来,一是能加深一下印象,二能帮助一下遇到相同坑的童鞋,三能锻炼自己的表达能力,一举三得,哈哈,如有错误欢迎批评指正......... 1.a标签在手机上点击之后会出现一个带颜色的方框,奇丑无比有木有,怎么去掉呢,方法:  在a标签样式中加入:-webkit-tap-highlight-color :rgba( 0,0 ,
在学习javascript中遇到的问题
最近开始打算好好学习前端知识,从前端知识攻克。在一个前端群中见到了这样一个题,自己没有回答正确,特别来记下来,总结经验。 代码如下: function Foo(){ getName = function(){ console.log(1); }; return this; } Foo.getName = function(){ console.log(2); }
matlab学习中遇到的问题整理
编程基础实在是很差,将最近在看matlab程序遇到的问题查资料,并整理如下: 一.Matlab输出输出参数varargout与nargout,varargin与nargin的区别(来自百度文库) 1、varargout与nargout区别    varargout简介:  varargout可以看做“Variable length output argument list”的缩写。在matl
部分Linux学习遇到的问题及解决方法汇总
说明:使用的是VMware虚拟机上的CentOS 6.7的Linux系统,用的是命令行界面。本文主要是汇总记录一些学习过程中遇到的部分问题和解决方法,就当做是Linux学习笔记吧!(Q即问题,A即解决方法)Q:”man”命令不可用,提示:-bash:man:command not found A: 没有安装man手册,使用命令安装: yum install -y man*
自学遇到的问题截图,请高手指教
学习中遇到的问题截图学习中遇到的问题截图学习中遇到的问题截图学习中遇到的问题截图学习中遇到的问题截图
Java学习中,所遇到的一些问题及解决方案
1、在使用BigDecimal数据类型做除法运算的时候,弹出如下异常:public static void main(String[] args){ BigDecimal a = new BigDecimal(1000); BigDecimal b = new BigDecimal(1500); System.out.println(a.divide(