您的位置:首页 > 移动开发 > Android开发

Android(OPhone) 学习笔记 - 按钮响应

2009-08-13 12:06 435 查看
在经历了三个例子代码之后,我们进入系统的开发学习。如果大家都是按照前面的例子一步步操作下来的话,我相信大家对开发环境的配置、模拟器的操作有了一定的了解。从本篇文章开始,我在介绍时,不会像前面一样step by step地贴每一行代码,讲解每一个细节,如果有疑问的地方,可以留言或者邮件探讨。

现在介绍按钮响应的两种方法:
方法一:
在onCreate中添加如下代码
Button btn = (Button)findViewById(R.id.button);
Button btn2 = (Button)findViewById(R.id.button2);
btn.setOnClickListener(this);
btn2.setOnClickListener(this);

另外有一个onClick函数如下:
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.button: setTitle("this is OK button"); break;
case R.id.button2: this.finish(); break;
}
}

这里的arg0作为响应参数,选择触发了哪个控件。当然,该程序需要在main.xml中加入两个按钮的说明:
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"/>

<Button android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Exit"/>

还需要库: import android.view.View.OnClickListener;

方法二:
在onCreate中添加如下代码
btn.setOnClickListener(listener);
btn2.setOnClickListener(listener2);

然后添加两个 OnClickListener:
OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
setTitle("this is OK button");
}
};
OnClickListener listener2 = new OnClickListener() {
public void onClick(View v) {
finish();
}

两个方法实现效果相同,具体的差别,需要在design pattern 中讲解。

在两种方法中,都是需要main.xml支持的,有一语句:setContentView(R.layout.main); 当然,也可以有不需要该语句的方法设置程序的layout。请看下回分解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息