1.Xml添加監聽屬性,這裡添加的doClick。 在Activity中添加doClick實現方法。Activity中實現的方法要和XML添加的屬性名相同,不建議實際開發中使用。 2.匿名內部類方式實現。 3.自定義點擊事件實現。 4.Activity繼承View.OnClickListener,由 ...
1.Xml添加監聽屬性,這裡添加的doClick。
1 <Button 2 android:id="@+id/bt1" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 android:onClick="doClick" 6 android:text="XML添加doClick" 7 android:layout_above="@+id/bt2" 8 android:layout_marginBottom="47dp" 9 />
1 public void doClick(View view) { 2 switch (view.getId()) { 3 case R.id.bt1: 4 Toast.makeText(MainActivity.this, "第一種點擊事件:Xml添加doClick", Toast.LENGTH_SHORT).show(); 5 break; 6 7 } 8 9 }
在Activity中添加doClick實現方法。Activity中實現的方法要和XML添加的屬性名相同,不建議實際開發中使用。
2.匿名內部類方式實現。
1 Button bt2 = (Button) findViewById(R.id.bt2); 2 bt2.setOnClickListener(new View.OnClickListener() { 3 @Override 4 public void onClick(View v) { 5 Toast.makeText(MainActivity.this, "第二種點擊事件:匿名內部類", Toast.LENGTH_SHORT).show(); 6 } 7 });
3.自定義點擊事件實現。
1 Button bt3 = (Button) findViewById(R.id.bt3); 2 bt3.setOnClickListener(new MyListener());
3 class MyListener implements View.OnClickListener { 4 @Override 5 public void onClick(View v) { 6 Toast.makeText(MainActivity.this, "第三種方法:自定義點擊事件", Toast.LENGTH_SHORT).show(); 7 } 8 }
4.Activity繼承View.OnClickListener,由Activity實現OnClick(View view)方法。
1 public class MainActivity extends AppCompatActivity implements View.OnClickListener { 2 @Override 3 protected void onCreate(Bundle savedInstanceState) { 4 super.onCreate(savedInstanceState); 5 setContentView(R.layout.activity_main); 6 Button bt4=(Button)findViewById(R.id.bt4); 7 bt4.setOnClickListener(this); 8 } 9 10 @Override 11 public void onClick(View v) { 12 switch (v.getId()) { 13 case R.id.bt4: 14 Toast.makeText(MainActivity.this, 15 "第四種點擊事件:Activity繼承View.OnClickListener,由Activity實現OnClick(View view)方法", 16 Toast.LENGTH_SHORT).show(); 17 } 18 } 19 }
備註:Button數量不多的情況下推薦使用第二種,匿名內部類的方式實現;反之則推薦使用第四種,Activity繼承View.OnClickListener實現。