安卓学习——采用onClickListener监听器,界面按钮响应
(一)定义监听,绑定组件
自定义一个类,用来筛选监听的指令
class MyClickedHandle implements View.OnClickListener
{
public void onClick(View v)
{
switch(v.getId())
{
case R.id.button1:
System.out.println("按键一被按下");
// Toast.makeText(this,"按键一启动", 0).show();
break;
case R.id.button2:
System.out.println("按键二被按下");
// Toast.makeText(this,"按键二启动", 0).show();
break;
}
}
}
public class MainActivity extends Activity {
Button btn1;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.button1); // 通过 R 文件里头 组件的ID寻找组件
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(new MyClickedHandle()); // 通过创建自己定义的类对象,进行响应调用
btn2.setOnClickListener(new MyClickedHandle());
}
}
(二)通过匿名内部类,把组件和事件绑定
把每个组件想要实现的功能定义,放在匿名类下方法实现
public class MainActivity extends Activity {
Button btn1;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println("按键一被按下");
Toast.makeText(MainActivity.this,"按键一启动", 0).show();
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println("按键二被按下");
Toast.makeText(MainActivity.this,"按键二启动", 0).show();
}
});
}
}
(三)采用view 对象调用onClick
通过view 需要在 activity_main 下 组件中 加入 onclick 引用的方法名字
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void buttonClickShow(View v)
{
switch(v.getId())
{
case R.id.button1:
System.out.println("按键一被按下");
Toast.makeText(this,"按键一启动", 0).show();
break;
case R.id.button2:
System.out.println("按键二被按下");
Toast.makeText(this,"按键二启动", 0).show();
break;
}
}
}
(四)在当前Activity实现监听接口
此方法要先使当前Activity继承接口View.OnClickListener
public class MainActivity extends Activity implements View.OnClickListener {
Button btn1;
Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.button1:
System.out.println("按键一被按下");
Toast.makeText(this,"按键一启动", 0).show();
break;
case R.id.button2:
System.out.println("按键二被按下");
Toast.makeText(this,"按键二启动", 0).show();
break;
}
}
}
目前在简单初学安卓知识,gogogogogo,共同努力前行