第一种按钮点击事件的处理方式(内部类):
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String TAG="MainActivity";
private Button btnClick;
private EditText etName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1、获取事件源
btnClick = (Button) findViewById(R.id.btnClick);
//根据id找到组件,并赋值
//由于Button是View的子类,必须强制类型转换(Ctrl+1)
btnClick.setOnClickListener(new ClickHandler());
//3、绑定事件源和事件处理类
etName = (EditText) findViewById(R.id.etName);
}
//2、创建事件处理类
class ClickHandler implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String name = etName.getText().toString();
//获取文本框中输入的内容
Log.d(TAG,"name="+name);
Toast.makeText(MainActivity.this, "hello"+name, Toast.LENGTH_LONG).
show();
}
}
}
第二种按钮点击事件的处理方式(匿名内部类):
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private static final String TAG="MainActivity";
private Button btnClick;
private EditText etName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1、获取事件源
btnClick = (Button) findViewById(R.id.btnClick);
//根据id找到组件,并赋值
//由于Button是View的子类,必须强制类型转换(Ctrl+1)
etName = (EditText) findViewById(R.id.etName);
//2、创建事件处理类同时进行与事件源的绑定
btnClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String name = etName.getText().toString();
//获取文本框中输入的内容
Log.d(TAG,"name="+name);
Toast.makeText(MainActivity.this, "hello"+name, Toast.LENGTH_LONG).show();
}
});
}
}