Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android筆記——Button點擊事件幾種寫法,androidbutton

Android筆記——Button點擊事件幾種寫法,androidbutton

編輯:關於android開發

Android筆記——Button點擊事件幾種寫法,androidbutton


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

 

首先我們簡單地定義一個帶Button的xml布局文件

  activity_main.xml:

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

 

然後再寫Java代碼

  MainActivity.java:

 

1.匿名內部類

  

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bt = (Button) findViewById(R.id.bt1);
        //1.匿名內部類
        bt.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Log.i("匿名內部類", "點擊事件");
            }
        });
}

 

2.定義內部類,實現OnClickListener接口

  

public class MainActivity extends Activity{

    private Button bt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bt = (Button) findViewById(R.id.bt);

        bt.setOnClickListener(new MyListener());
    }

        //定義內部類,實現OnClickListene接口
    class MyListener implements OnClickListener{

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Log.i("定義內部類,實現OnClickListene接口", "點擊事件");
        }
    }
}

 

3.定義的構造方法

  

public class MainActivity extends Activity{

    private Button bt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bt = (Button) findViewById(R.id.bt);

        myListener();
    }

        //定義構造方法
        private void myListener() {
        // TODO Auto-generated method stub
        bt.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Log.i("定義構造方法", "點擊事件");
            }
        });
    }
}

 

4.用Activity實現OnClickListener接口

  

public class MainActivity extends Activity implements OnClickListener {

    private Button bt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        bt = (Button) findViewById(R.id.bt);
        bt.setOnClickListener(this);
    }
  
  
  //用Activity實現OnClickListener接口
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Log.i("用Activity實現OnClickListener接口", "點擊事件");
        }
    
}

 

5.指定Button的onClick的屬性:

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

布局文件:

    <Button

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="點擊事件" />

  Java代碼:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
    }

    //5指定onClick屬性方式
    public void click(View v) {
        // TODO Auto-generated method stub
        Log.i("指定onClick屬性方式","點擊事件"); 
    }
}

 

 

另外,多個按鈕點擊的話,也可以指定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;
        }        
    }
}

 

效果如圖:

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved