Android中Button四種點擊事件實現方式


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實現。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM