教我徒弟Android開發入門(二)

來源:互聯網
上載者:User

標籤:外部   16px   總結   extends   height   main   直接   內部類   細節   

前言:

上一期實現了簡單的QQ登入效果,這一期繼續對上一期進行擴充

本期的知識點:

Toast彈窗,三種方法實現按鈕的點擊事件監聽

本文:
 

Toast彈窗其實很簡單,在Android Studio中打上toast,之後按下tab鍵就能快捷產生一個Toast


Toast.makeText(CurrentActivity.this, "內容", Toast.LENGTH_SHORT).show();
括弧中的三個參數,第一個是context(上下文,在哪裡顯示Toast),第二個是一個String字串,也就是Toast顯示的內容,第三個是Toast顯示的時間,short是短的意思
 

這樣就能實現彈出Toast,我將之前彈出對話方塊的代碼修改成了下列的代碼,this就是指當前的activity,這樣可以省略的寫

 

 

 關於監聽事件,可能我沒有講解得太清楚,拿上面的那個例子來說,我們是讓當前的那個activity實現了一個監聽介面,之後複寫它的onClick方法,通過findviewbyid找到button的執行個體,調用setOnClickListener為其綁定監聽器,之後,當使用者點擊button按鈕,就會進入到onClick方法之中,由v.getid獲得目前使用者點擊的view的id,之後進入到一個switch分支語句之中,id與R.id.button相同,就執行該分支,也就是彈出一個Toast,不只是button,其他的textview,linearlayout等等控制項或者是根布局也是可以設定監聽器的

 

 我總結了五種實現時間監聽器的方法,可能說法不是正確,不過,知道方法就行了,不必糾結細節

實現事件監聽器的方法:

  • 內部類形式
  • 外部類形式
  • Activity本身作為事件監聽器類
  • 匿名內部類形式
  • 直接綁定到標籤

 

內部類形式

將事件監聽器類定義在當前類的內部

  

public class Test extends Activity{    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button = (Button)findViewById(R.id.about);        MyButtonlistener listener = new MyButtonlistener();        button.setOnClickListener(listener);    }    class MyButtonlistener implements View.OnClickListener{        @Override        public void onClick(View v) {            //相關事件處理        }    }}

 

 

 

 

 

 

外類類形式

Test類

public class Test extends Activity{    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button = (Button)findViewById(R.id.about);        MyButtonlistener listener = new MyButtonlistener();        button.setOnClickListener(listener);    }}

MyButtonlistener類

public class MyButtonlistener implements View.OnClickListener {    @Override    public void onClick(View v) {        //事件處理    }}

 

 

Activity本身作為事件監聽器類

  將Activity本身作為事件監聽器類

  

public class Test extends Activity implements View.OnClickListener{    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button = (Button)findViewById(R.id.about);        button.setOnClickListener(this);    }    @Override    public void onClick(View v) {        //事件處理    }}

 

  匿名內部類形式
public class Test extends Activity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button = (Button)findViewById(R.id.about);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //事件處理            }        });    }}

 

 

 

直接綁定到標籤

在xml的布局檔案中加入onClick屬性,設定相關的方法

 

定義一個方法,記得參數是View

 

想深入瞭解的還可以看一下這一篇:Android開發之基於監聽的事件處理

 

教我徒弟Android開發入門(二)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.