第一種按鈕點擊事件(最常用):
button=findViewById(R.id.button); button2=findViewById(R.id.button2); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"登錄成功",Toast.LENGTH_LONG).show(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"退出",Toast.LENGTH_LONG).show(); } });
第二種按鈕點擊事件實現方式(通過實現View.OnClickListener接口):
public class MainActivity extends AppCompatActivity implements View.OnClickListener { Button button; //變量定義需要與xml文件中的組件名稱相對應 Button button2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=findViewById(R.id.button); button2=findViewById(R.id.button2); button.setOnClickListener(this); button2.setOnClickListener(this); //this 指代當前窗體 } @Override public void onClick(View v) { switch (v.getId()){ case R.id.button: Toast.makeText(MainActivity.this,"登錄成功",Toast.LENGTH_LONG).show(); break; case R.id.button2: Toast.makeText(MainActivity.this,"退出",Toast.LENGTH_LONG).show(); break; } } }
第三種按鈕點擊事件實現方式(推薦采用這種方式)
利用XML文件中button組件的onclick屬性:
java后台代碼為:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); public void login(View v){ Toast.makeText(MainActivity.this,"登錄成功",Toast.LENGTH_LONG).show(); } public void cancel(View v){ Toast.makeText(MainActivity.this,"退出",Toast.LENGTH_LONG).show(); } }