最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android onClick按鈕單擊事件的四種常用寫法

 更新時間:2017年03月19日 09:54:44   作者:二一點  
本文主要介紹了Android onClick按鈕單擊事件的四種常用寫法,具有很好的參考價值。下面跟著小編一起來看下吧

這里使用四種onClick單擊事件,來實現(xiàn)電話拔號器的DEMO。

XML文件

<EditText 
 android:layout_width="match_parent" 
 android:layout_height="wrap_content" 
 android:inputType="phone" 
 android:ems="10" 
 android:id="@+id/et_number" 
 android:layout_alignParentTop="true" 
 android:layout_alignParentLeft="true" 
 android:layout_alignParentStart="true" /> 
<Button 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:text="@string/dial_number" 
 android:id="@+id/bt_dial" 
 android:layout_below="@id/et_number" 
 android:layout_alignRight="@id/et_number" 
 android:layout_alignEnd="@id/et_number" /> 

第一種、匿名內(nèi)部類:

protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 Button bt_dial = (Button) findViewById(R.id.bt_dial); 
 bt_dial.setOnClickListener(new View.OnClickListener() { 
  @Override 
  public void onClick(View view) { 
   dialPhone(); 
  } 
 }); 
} 

第二種、自定義單擊事件監(jiān)聽類:

protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
  et_number = (EditText) MainActivity.this.findViewById(R.id.et_number); 
  Button bt_dial = (Button) findViewById(R.id.bt_dial); 
  bt_dial.setOnClickListener(new MyListener()); 
 } 
 private class MyListener implements View.OnClickListener { 
 @Override 
 public void onClick(View view) { 
  dialPhone(); 
 } 
} 

第三種、Activity繼承View.OnClickListener,由Activity實現(xiàn)OnClick(View view)方法,在OnClick(View view)方法中用switch-case對不同id代表的button進行相應(yīng)的處理:

public class MainActivity extends Activity implements View.OnClickListener { 
 EditText et_number; 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
  et_number = (EditText) MainActivity.this.findViewById(R.id.et_number); 
 Button bt_dial = (Button) findViewById(R.id.bt_dial); 
  bt_dial.setOnClickListener(this); 
 } 
 public void onClick(View view) { 
  switch (view.getId()){ 
   case R.id.bt_dial: 
    dialPhone(); 
    break; 
   default: 
    break; 
  } 
 } 
} 

第四種、在XML文件中顯示指定按鈕的onClick屬性,這樣點擊按鈕時會利用反射的方式調(diào)用對應(yīng)Activity中的click()方法:

<Button 
  android:onClick="dialPhoneMethod" 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="@string/dial_number" 
  android:id="@+id/bt_dial" 
  android:layout_below="@id/et_number" 
  android:layout_alignRight="@id/et_number" 
  android:layout_alignEnd="@id/et_number" /> 
public void dialPhoneMethod(View view){ 
 dialPhone(); 
} 
private void dialPhone() { 
 String number = et_number.getText().toString().trim(); 
 if (TextUtils.isEmpty(number)){ 
  Toast.makeText(this, "電話號碼不能為空", Toast.LENGTH_LONG).show(); 
  return; 
 } 
 Intent intent = new Intent(); 
 intent.setAction(Intent.ACTION_CALL); 
 intent.setData(Uri.parse("tel:" + number)); 
 startActivity(intent); 
} 

總結(jié):

第四種寫法整個代碼中都不用聲明button就可以實現(xiàn)button的單擊事件。但通常不推薦這樣使用,第三種方法是onClick最佳的的使用方式。按鈕少的時候用匿名內(nèi)部類會比較快,比如寫demo測試的時候。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • Android JNI c/c++調(diào)用java的實例

    Android JNI c/c++調(diào)用java的實例

    這篇文章主要介紹了Android JNI c/c++調(diào)用java的實例的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Android 5.1 WebView內(nèi)存泄漏問題及快速解決方法

    Android 5.1 WebView內(nèi)存泄漏問題及快速解決方法

    下面小編就為大家?guī)硪黄狝ndroid 5.1 WebView內(nèi)存泄漏問題及快速解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Android中Intent與Bundle的使用詳解

    Android中Intent與Bundle的使用詳解

    這篇文章主要給大家總結(jié)介紹了關(guān)于Android中傳值Intent與Bundle的關(guān)系,文中通過示例代碼以及圖文介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-11-11
  • 解決Android-RecyclerView列表倒計時錯亂問題

    解決Android-RecyclerView列表倒計時錯亂問題

    這篇文章主要介紹了解決Android-RecyclerView列表倒計時錯亂問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Android實現(xiàn)可播放GIF動畫的ImageView

    Android實現(xiàn)可播放GIF動畫的ImageView

    這篇文章主要為大家詳細介紹了Android實現(xiàn)可播放GIF動畫的ImageView,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android 靜默安裝和智能安裝的實現(xiàn)方法

    Android 靜默安裝和智能安裝的實現(xiàn)方法

    靜默安裝就是無聲無息的在后臺安裝apk,沒有任何界面提示。智能安裝就是有安裝界面,但全部是自動的,不需要用戶去點擊。下面腳本之家小編給大家介紹下Android 靜默安裝和智能安裝的實現(xiàn)方法,感興趣的朋友一起看看吧
    2018-01-01
  • Android Canvas和Bitmap結(jié)合繪圖詳解流程

    Android Canvas和Bitmap結(jié)合繪圖詳解流程

    在 Android Canvas 上繪圖非常難,在繪圖時需要理解許多不同的類和概念。這篇文章中,將介紹 Android 框架中可用的一些類,它們可以讓畫布使用時更輕松
    2021-11-11
  • Flutter利用注解生成可自定義的路由的實現(xiàn)

    Flutter利用注解生成可自定義的路由的實現(xiàn)

    這篇文章主要介紹了Flutter利用注解生成可自定義的路由的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Android實現(xiàn)波浪線效果(xml bitmap)

    Android實現(xiàn)波浪線效果(xml bitmap)

    這篇文章主要介紹了Android xml bitmap實現(xiàn)波浪線效果,制作過程簡單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Android MarkTipsView文字標識控件使用方法

    Android MarkTipsView文字標識控件使用方法

    這篇文章主要為大家詳細介紹了Android MarkTipsView文字標識控件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04

最新評論

青田县| 江华| 金川县| 南和县| 攀枝花市| 中超| 逊克县| 闻喜县| 宕昌县| 嵊州市| 朔州市| 泸定县| 新蔡县| 钟祥市| 扶沟县| 河津市| 宁陕县| 武夷山市| 丰镇市| 景泰县| 西盟| 隆林| 瑞安市| 麻栗坡县| 磐安县| 海南省| 罗田县| 赣州市| 雷波县| 介休市| 分宜县| 南江县| 平泉县| 六枝特区| 宁波市| 成都市| 固安县| 涟水县| 金川县| 临洮县| 邢台县|