按钮的四种点击事件

1.定义一个内部类去实现按钮的点击事件

 1     //实例化一个按钮
 2     Button btn_num = (Button)findViewById(R.id.button1);
 3     // 设置点击事件
 4     btn_num.setOnClickListener(new MyClickListener());
 5 
 6     //定义一个类,去实现点击事件需要的接口类型
 7     private class MyClickListener implements OnClickListener{
 8 
 9         @Override
10         public void onClick(View v) {
11             // TODO Auto-generated method stub
12             String number=text_num.getText().toString().trim();
13             if("".equals(number)){
14        // 调用土司类的makeText方法,做为提示
15                 Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_SHORT).show();
16                 return;
17             }
18             //创建一个意图
19             Intent intent = new Intent();
20             intent.setAction(Intent.ACTION_CALL);
21             intent.setData(Uri.parse("tel:"+number));
22             startActivity(intent);
23         }
24     }

 2.匿名内部类实现按钮点击事件

 1     //第二种按钮点击方法,匿名内部类的方法
 2     Button btn2 = (Button)findViewById(R.id.button2);
 3     btn2.setOnClickListener(new OnClickListener() {
 4         
 5         @Override
 6         public void onClick(View v) {
 7             // TODO Auto-generated method stub
 8             callPhone();
 9         }
10     });

3.让当前类实现OnClickListener接口类型

 1 public class MainActivity extends Activity implements OnClickListener
 2 ...
 3     // 让当前类实现OnClickListener接口类型
 4     Button btn3 = (Button) findViewById(R.id.button3);
 5     btn3.setOnClickListener(this);
 6 
 7 ...
 8     public void onClick(View v) {
 9         // TODO Auto-generated method stub
10         switch (v.getId()) {
11         case R.id.button3:
12             callPhone();
13             break;
14         default:
15             break;
16         }
17     }

 4.声明一个方法,这个方法和你要点击的按钮在布局中声明的OnClick属性名相同:

 1     <Button
 2         android:onClick="button4Click"
 3         android:layout_width="wrap_content"
 4         android:layout_height="wrap_content"
 5         android:layout_alignParentLeft="true"
 6         android:layout_alignRight="@+id/textView1"
 7         android:layout_below="@+id/button3"
 8         android:layout_marginTop="26dp"
 9         android:text="Button4" />
10 
11     public void button4Click(View view){
12         callPhone();
13     }

 

posted @ 2016-11-30 16:58  庞 雷  阅读(612)  评论(0)    收藏  举报