按钮的四种点击事件
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 }

浙公网安备 33010602011771号