Android中实现点击事件的方法总结

来源:互联网 发布:债券数据怎么看 编辑:程序博客网 时间:2024/05/17 02:30

今天看别人用了第四种方法的也就是在布局文件中设置OnClick,以前也知道有这么一种实现办法就是一直没用过。所以闲下来总结一下实现点击事件的几种方法。 一、第一种使用匿名内部类实现,代码如下;
  1. import android.os.Bundle;
  2. import android.view.View;
  3. import android.view.View.OnClickListener;
  4. import android.widget.Button;
  5. import android.widget.Toast;
  6. import android.app.Activity;
  7. public class MainActivity extends Activity {
  8. private Button btn;
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. btn = (Button)findViewById(R.id.btn);
  14. btn.setOnClickListener(new OnClickListener() {//实现点击事件
  15. @Override
  16. public void onClick(View v) {
  17. // TODO Auto-generated method stub
  18. Toast.makeText(MainActivity.this, "你点击了按钮", Toast.LENGTH_LONG).show();
  19. }
  20. });
  21. }
  22. }
二、第二种使用内部类实现,代码如下;
  1. import android.os.Bundle;
  2. import android.view.View;
  3. import android.view.View.OnClickListener;
  4. import android.widget.Button;
  5. import android.widget.Toast;
  6. import android.app.Activity;
  7. public class MainActivity extends Activity {
  8. private Button btn;
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. btn = (Button)findViewById(R.id.btn);
  14. btn.setOnClickListener(new MyOnClickListerner());
  15. }
  16.  private class MyOnClickListerner implements OnClickListener{
  17. @Override
  18. public void onClick(View v) {
  19. // TODO Auto-generated method stub
  20. Toast.makeText(MainActivity.this, "你点击了按钮", Toast.LENGTH_LONG).show();
  21. }
  22. }
  23. }
三、第三种实现OnClickListener接口,代码如下:
  1. import android.os.Bundle;
  2. import android.view.View;
  3. import android.view.View.OnClickListener;
  4. import android.widget.Button;
  5. import android.widget.Toast;
  6. import android.app.Activity;
  7. public class MainActivity extends Activity implements OnClickListener {
  8. private Button btn;
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. btn = (Button) findViewById(R.id.btn);
  14. btn.setOnClickListener(this);
  15. }
  16. @Override
  17. public void onClick(View v) {
  18. // TODO Auto-generated method stub
  19. Toast.makeText(MainActivity.this, "你点击了按钮", Toast.LENGTH_LONG).show();
  20. }
  21. }
四、第四种在布局文件中指定OnClick方法,打码如下: main_activity.xml文件
  1. xmlns:tools="http://schemas.android.com/tools"
  2. android:layout_width="match_parent"
  3. android:layout_height="match_parent"
  4. android:paddingBottom="@dimen/activity_vertical_margin"
  5. android:paddingLeft="@dimen/activity_horizontal_margin"
  6. android:paddingRight="@dimen/activity_horizontal_margin"
  7. android:paddingTop="@dimen/activity_vertical_margin"
  8. tools:context=".MainActivity" >
  9. <button< span="">
  10. android:id="@+id/btn"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:text="@string/anniu"
  14. android:onClick="BtnClick"
  15. />
MainActivity.java文件
  1. import android.os.Bundle;
  2. import android.view.View;
  3. import android.widget.Toast;
  4. import android.app.Activity;
  5. public class MainActivity extends Activity{
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_main);
  10. }
  11. public void BtnClick(View v){
  12. Toast.makeText(MainActivity.this, "你点击了按钮", Toast.LENGTH_LONG).show();
  13. }
  14. }
以上四种方法都可以实现按钮的点击事件。视情况选择适合的实现方法。

0 0
原创粉丝点击