安卓添加事件遇到的一个问题以及他的解决方法

首先本篇文章只对那些对java框架或者android等初学编程者,我想只要有一定基础入门者就不会犯这种低级错误了。

当然我自己也是一个技术初学者,有不对的地方大家一定要指出来改正。


先说一下问题,我在主函数中为了引用XML文件中声明的界面元素,使用如下代码

Button button1 = (Button)findViewById(R.id.button1);
按说无可厚非,但在添加事件的时候就出问题了,报错如下

Syntax error on token(s), misplaced construct(s)

一个语法错误,我最初以为是哪写错了,查找了半天与网上的比对甚至直接复制下来都没有问题,后来我发现我犯了一个愚蠢的错误,不是语法的问题是代码结构的问题

Java中有一句话叫做万物皆类,我把这段程序不下心写到了函数外,使编译器报错,正确的做法是放到onCreate()函数里,问题解决。


问题是解决了应该去挖掘一下问题的来源


安卓基础主函数代码结构如下

public class XxxxxxActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
		
    }

首先Activity组件是Android程序的呈现层,显示可视化的用户界面,并接受与用户交互所产生的界面事件。

其中的onCreate()是Activity组件一个重要回调函数,用来进行Acticity的初始化,比如创建View、绑定数据或恢复信息等。


所以控件的引用以及响应事件的创建理应放在这个函数里。


最后改好的代码如下

public class RelativeLayoutActivity extends Activity {
	final static String TAG="REALOGCAT";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button1 = (Button)findViewById(R.id.button1);
        Button button2 = (Button)findViewById(R.id.button2);
        
        button1.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
			}
		});
        
        button2.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
			}
		});
    }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值