Android程序设计逻辑分析之用户事件响应-回调函数的使用
注: 本系列文章以实例分析为主,按照步骤完成,可以直接运行。
例子:完成两个整数的相加,并把结果显示出来。
1.新建一个Android工程。
2.编辑res/layout/main.xml。设计界面元素。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:id="@+id/int1"
android:layout_width="100px"
android:layout_height="wrap_content"
android:text="0"
/>
<EditText
android:id="@+id/int2"
android:layout_width="100px"
android:layout_height="wrap_content"
android:text="0"
/>
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="执行"
/>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="结果是"
/>
<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
/>
</LinearLayout>
</LinearLayout>
3.编辑src目录下的源文件。
package com.taisen.android;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class CallBackAddMethodActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button)findViewById(R.id.submit);
OnClickListener l = new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
TextView int1 = (TextView)findViewById(R.id.int1);
TextView int2 = (TextView)findViewById(R.id.int2);
TextView result = (TextView)findViewById(R.id.result);
int a,b;
a = Integer.parseInt(int1.getText().toString());
b = Integer.parseInt(int2.getText().toString());
result.setText(String.valueOf(a+b));
}
};
b.setOnClickListener(l);
}
}
这个继承Activity的类完成了用户单击事件的响应。
通过调用OnClickListener接口,实现唯一的方法onClick(View v)。最后使用setOnClickListener()将该对象对应到View上。
摘自 燕龙安的专栏
补充:移动开发 , Android ,