Android--Android studio --Button點擊事件的寫法

來源:互聯網
上載者:User

標籤:roi   prot   method   cas   java   auto   width   cte   int   

Button點擊事件:大概可以分為以下幾種:

  1. 匿名內部類
  2. 定義內部類,實現OnClickListener介面
  3. 定義的構造方法
  4. 用Activity實現OnClickListener介面
  5. 指定Button的onClick的屬性

首先定義一個帶button的xml布局檔案

activity_main.xml:

<Button        android:id="@+id/bt1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="點擊事件" />

然後再寫Java代碼:

1.匿名內部類

 1 @Override 2     protected void onCreate(Bundle savedInstanceState) { 3         super.onCreate(savedInstanceState); 4         setContentView(R.layout.activity_main); 5          6         bt = (Button) findViewById(R.id.bt1); 7         //1.匿名內部類 8         bt.setOnClickListener(new OnClickListener() { 9             10             @Override11             public void onClick(View v) {12                 // TODO Auto-generated method stub13                 Log.i("匿名內部類", "點擊事件");14             }15         });16 }

 

2.定義內部類,實現OnClickListener介面

 1 public class MainActivity extends Activity{ 2  3     private Button bt; 4  5     @Override 6     protected void onCreate(Bundle savedInstanceState) { 7         super.onCreate(savedInstanceState); 8         setContentView(R.layout.activity_main); 9         10         bt = (Button) findViewById(R.id.bt);11 12         bt.setOnClickListener(new MyListener());13     }14 15         //定義內部類,實現OnClickListene介面16     class MyListener implements OnClickListener{17 18         @Override19         public void onClick(View v) {20             // TODO Auto-generated method stub21             Log.i("定義內部類,實現OnClickListene介面", "點擊事件");22         }23     }24 }

 

3.定義的構造方法

 1 public class MainActivity extends Activity{ 2  3     private Button bt; 4  5     @Override 6     protected void onCreate(Bundle savedInstanceState) { 7         super.onCreate(savedInstanceState); 8         setContentView(R.layout.activity_main); 9         10         bt = (Button) findViewById(R.id.bt);11 12         myListener();13     }14 15         //定義構造方法16         private void myListener() {17         // TODO Auto-generated method stub18         bt.setOnClickListener(new OnClickListener() {19             20             @Override21             public void onClick(View v) {22                 // TODO Auto-generated method stub23                 Log.i("定義構造方法", "點擊事件");24             }25         });26     }27 }

 

4.用Activity實現OnClickListener介面

 1 public class MainActivity extends Activity implements OnClickListener { 2  3     private Button bt; 4  5     @Override 6     protected void onCreate(Bundle savedInstanceState) { 7         super.onCreate(savedInstanceState); 8         setContentView(R.layout.activity_main); 9         10         bt = (Button) findViewById(R.id.bt);11         bt.setOnClickListener(this);12     }13   14   15   //用Activity實現OnClickListener介面16     @Override17     public void onClick(View v) {18         // TODO Auto-generated method stub19         Log.i("用Activity實現OnClickListener介面", "點擊事件");20         }21     22 }

 

5.指定Button的onClick的屬性:

 先在layout檔案中指定onClick屬性,然後到Activity中實現這個onButtonClick方法

布局檔案:

1 <Button2 3         android:layout_width="wrap_content"4         android:layout_height="wrap_content"5         android:onClick="click"6         android:text="點擊事件" />

Java代碼:

 1 public class MainActivity extends Activity { 2  3     @Override 4     protected void onCreate(Bundle savedInstanceState) { 5         super.onCreate(savedInstanceState); 6         setContentView(R.layout.activity_main); 7          8     } 9 10     //5指定onClick屬性方式11     public void click(View v) {12         // TODO Auto-generated method stub13         Log.i("指定onClick屬性方式","點擊事件"); 14     }15 }

 

另外,多個按鈕點擊事件的處理,以指定onClick屬性方式為例,擷取其資源id,通過資源id,可以判斷使用者點擊了哪個按鈕了。

 

布局檔案:

<Button        android:id="@+id/bt1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="click"        android:text="點擊事件1" />           <Button        android:id="@+id/bt2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="click"        android:text="點擊事件2" />            <Button        android:id="@+id/bt3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="click"        android:text="點擊事件3" />/>        <Button        android:id="@+id/bt4"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="click"        android:text="點擊事件4" />

Java代碼:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);            }    //指定onClick屬性方式    //傳人的View對象,就是使用者按下的那個按鈕對象    public void click(View v) {        // TODO Auto-generated method stub                //擷取組件的資源id        int id = v.getId();        switch (id) {        case R.id.bt1:            Log.i("指定onClick屬性方式","bt1點擊事件");             break;        case R.id.bt2:            Log.i("指定onClick屬性方式","bt2點擊事件");             break;        case R.id.bt3:            Log.i("指定onClick屬性方式","bt3點擊事件");             break;        case R.id.bt4:            Log.i("指定onClick屬性方式","bt4點擊事件");             break;        default:            break;        }            }}

 

Android--Android studio --Button點擊事件的寫法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.