按鈕四種點選事件寫法
阿新 • • 發佈:2018-12-30
按鈕四種點選事件寫法
- [1]通過內部類來實現按鈕點選事件
- [2]通過匿名內部類去實現
btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "我被點選了", Toast.LENGTH_SHORT).show(); Intent intent = newIntent(MainActivity.this, NextActivity.class); startActivity(intent); } });
- [3]當頁面上有多個按鈕 讓當前類實現OnClickListener.通過switch語句 通過id 來判斷具體點選的是哪個按鈕
public class NextActivity extends AppCompatActivity implements View.OnClickListener { @Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_next); Button btn1 = findViewById(R.id.btn1); Button btn2 = findViewById(R.id.btn2); Button btn3 = findViewById(R.id.btn3); Button btn4= findViewById(R.id.btn4); btn1.setOnClickListener(this); btn2.setOnClickListener(this); btn3.setOnClickListener(this); btn4.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btn1: Toast.makeText(this, "1", Toast.LENGTH_SHORT).show(); break; case R.id.btn2: Toast.makeText(this, "2", Toast.LENGTH_SHORT).show(); break; case R.id.btn3: Toast.makeText(this, "3", Toast.LENGTH_SHORT).show(); break; case R.id.btn4: Toast.makeText(this, "4", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(NextActivity.this, ThirdActivity.class); startActivity(intent); break; } } }
- [4]按鈕第四種點選事件寫法
- [4.1]在按鈕上宣告一個onClick屬性
<Button android:id="@+id/btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="Click" android:text="天道酬勤" />
- [4.2]在mainActivity寫一個方法 要求方法名和屬性名一樣 並且接收一個引數 引數型別View.
public void Click(View view) { Toast.makeText(this, "恐怖牆", Toast.LENGTH_SHORT).show(); }
- 原理就是我們前面講的反射.
- 實際開發中:使用匿名內部類或者第四種寫法