Android实现点击事件的4种方式
一、通過在activity_main.xml中,按鈕button控件中添加onclick事件實現
在?? activity_main.xml 對應的按鈕Button中加入下面紅色事件
<Button android:id="@+id/send_button"
??????? android:layout_width="wrap_content"
??????? android:layout_below="@id/content_edit"
??????? android:text="@string/send_button"
??????? android:onClick="call"
??????? android:layout_height="wrap_content"/>
在布局對應的Activity,即MainActivity.java中加入下面方法,下面是點擊撥打號碼的時候的相關操作
? /**
???? * 當撥打此號碼的按鈕被點擊時觸發此方法.
???? * @param v
???? */
??? public void call(View v) {
??????? System.out.println("撥打電話……….");
???????
??????? // 1. 取出輸入框中的號碼
??????? EditText etNumber = (EditText) findViewById(R.id.number);??? // 輸入框對象
??????? String number = etNumber.getText().toString();??? // 將要撥打的號碼
???????
??????? // 2. 根據號碼撥打電話
??????? Intent intent = new Intent();??????? // 創建一個意圖
??????? intent.setAction(Intent.ACTION_CALL);??????? // 指定其動作為撥打電話
??????? intent.setData(Uri.parse("tel:" + number));??? // 指定將要撥出的號碼
??????? startActivity(intent);??? // 執行這個動作
??? }
?
二、采用匿名內部類的方式,在布局初始化的時候添加事件監聽
在 activity_main.xml? 不要添加onclick事件
在布局對應的Activity,即MainActivity.java的onCreate方法中,添加下面代碼實現事件監聽:
??????? Button btnCall = (Button) findViewById(R.id.btn_call);
??????? btnCall.setOnClickListener(new OnClickListener() {
??????????? @Override
??????????? public void onClick(View v) {
??????????????? System.out.println("MainUI2 撥打電話.");
??????????????? call();
??????????? }
??????? });
?
三、采用內部類的方式,在布局初始化的時候添加事件監聽
在 activity_main.xml? 不要添加onclick事件
在布局對應的Activity,即MainActivity.java的onCreate方法中,添加下面代碼實現事件監聽:
protected void onCreate(Bundle savedInstanceState) {
??????? super.onCreate(savedInstanceState);??????? // 必須執行此句代碼. 執行父類的初始化操作.
??????? setContentView(R.layout.main);??????????????? // 設置當前界面顯示的布局.
??????? Button btnCall = (Button) findViewById(R.id.btn_call);
??????? btnCall.setOnClickListener(new MyOnClickListener());
??? }
???
class MyOnClickListener implements OnClickListener {
??????? @Override
??????? public void onClick(View v) {
??????????? System.out.println("撥打號碼..");
??????????? call();
??????? }
??? }
???
??? /**
???? * 撥打電話的業務方法
???? */
??? private void call() {
?????????????? //實現事件觸發的要執行的邏輯??
?? }
?
四、采用Activity實現接口的方式,實現事件監聽
在 activity_main.xml? 不要添加onclick事件,? 讓布局Activity實現接口OnClickListener,并實現接口的方法
?
public class MainActivity extends Activity implements OnClickListener
?
private void call() {
??????? // 1. 取出輸入框中的號碼
??????? EditText etNumber = (EditText) findViewById(R.id.number);??? // 輸入框對象
??????? String number = etNumber.getText().toString();??? // 將要撥打的號碼
???????
??????? // 2. 根據號碼撥打電話
??????? Intent intent = new Intent();??????? // 創建一個意圖
??????? intent.setAction(Intent.ACTION_CALL);??????? // 指定其動作為撥打電話
??????? intent.setData(Uri.parse("tel:" + number));??? // 指定將要撥出的號碼
??????? startActivity(intent);??? // 執行這個動作
??? }
??? @Override
??? public void onClick(View v) {
??????? call();
??? }
轉載于:https://www.cnblogs.com/zhongjianlong/p/3991502.html
總結
以上是生活随笔為你收集整理的Android实现点击事件的4种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 敏捷之旅杭州站演讲PPT(敏捷开发在淘女
- 下一篇: 看来我的计时器的应用还要加强才行呀