天天看點

Button的onClick事件

一、打開Eclipse建立一個Android App項目

  在布局檔案中添加兩個Button控件

  如圖:

Button的onClick事件

  布局檔案代碼:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <!-- 第一個Button -->
    <Button
        android:id="@+id/testbutton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />
    
    <!-- 第二個Button -->
    <Button
        android:id="@+id/testbutton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>      

二、

  編寫Java代碼

  代碼如下:

  

package com.example.androidone;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

    private Button but;
    private Button but2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.activity_main);
        setContentView(R.layout.test);
           
        // Button onClick方法一:

        // 擷取ID為testbutton1的Button控件
        but = (Button) findViewById(R.id.testbutton1);
        // 把該控件的Test設定為"Hello,android"
        but.setText("Hello,android");
        // 為該控件設定一個單擊事件的監聽
        but.setOnClickListener(new OnClickListener() {
            @Override
            //設定單擊事件
            public void onClick(View arg0) {
                //設定Toast特效
                Toast.makeText(MainActivity.this, "Hello,android",
                        Toast.LENGTH_LONG).show();

            }
        });

        // Button onClick方法二:
        //擷取ID為testbutton2的Button控件
        but2 = (Button) findViewById(R.id.testbutton2);
        // 把該控件的Test設定為"你好,安卓"
        but2.setText("你好,安卓");
        // 為該控件設定一個單擊事件的監聽
        //這裡的new but(this)是new but類裡面的一個but()方法
        //并把目前的上下文對象作為參數傳入
        but2.setOnClickListener(new but(this));
    }
}      

  but類代碼如下:

package com.example.androidone;

import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

public class but implements OnClickListener {
    
        //開辟一個上下文對象
        private Context con;
        //為上下文對象指派
        public but(Context c){
            this.con = c;
        }
        //設定單擊事件
        @Override
        public void onClick(View v) {
            //設定Toast特效
            Toast.makeText(
                    con,"你好,安卓",Toast.LENGTH_LONG
            ).show();
        }

}      

方法一運作結果如下:

Button的onClick事件

方法二運作結果如下:

Button的onClick事件

  

轉載于:https://www.cnblogs.com/mrlcj/p/6075228.html