編輯:關於Android編程
1.匿名內部類
2.創建一個類實現OnclickListener,setOnClickListener時傳這個類的對象
3.讓當前類直接實現OnclickListener,setOnClickListener時傳this,一般開發采用該方式。
4.在布局文件中為控件配置一個Onclick屬性,在布局對應的Activity中創建一個以屬性值為名方法,切記public,名字相同,傳View;
一般公司開發不用,做簡單測試時使用即可。
一、通過匿名內部類來實現,代碼由電話撥號器項目改編:
btn_call.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { EditText et_number = (EditText) findViewById(R.id.et_number); String number = et_number.getText().toString().trim(); // 獲取文本框的內容 if ("".equals(number)) { // context 上下文 duration 顯示土司的時長 Toast.makeText(MainActivity.this, "號碼不能為空", Toast.LENGTH_LONG).show(); return; } Intent intent = new Intent(); // 創建意圖對象 intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + number)); startActivity(intent); } });
二、通過內部類來實現
其實第二種方法跟第一種方法在本質上沒有任何差別,雖然一個是匿名內部類另外一個是內部類,但是這只是寫法上的差別,兩者都是通過Button對象的setOnClickListener()方法來綁定實現的。
代碼摘抄自電話撥號器項目:
定義一個內部類目的實現按鈕監聽
private class MyButtonListener implements OnClickListener { @Override public void onClick(View v) { EditText et_number = (EditText) findViewById(R.id.et_number); String number = et_number.getText().toString().trim(); // 獲取文本框的內容 if ("".equals(number)) { Toast.makeText(MainActivity.this, "號碼不能為空", Toast.LENGTH_LONG).show(); return; } System.out.println("number--" + number); Intent intent = new Intent(); // 創建意圖對象 intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + number)); startActivity(intent); } }
三、由類文件去實現監聽接口
代碼如下:
//第一步:Activity實現OnClickListener接口 public class SecondActivity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); //第二步:得到button,並且設置點擊監聽為:this Button btnCall = (Button) findViewById(R.id.btn_call); btnCall.setOnClickListener(this); } //第三步:重寫OnClickListener接口的onClick方法 @Override public void onClick(View v) { //根據v的id來區分點擊的是哪個按鈕 switch (v.getId()) { case R.id.btn_call: //DoSomething break; } } }
四、在布局文件中注冊事件
1.在布局文件中添加android:onClick屬性
2.在相應的java代碼中定義call方法
前段時間,我看到了一篇關於Android動畫的文章,十分喜歡文章作者的筆風,可惜每個人的筆風都不同,不過我倒是實現了一個類似的Switch組件,項目地址為https://
一、概述近期注意到QQ新版使用了沉浸式狀態欄,ok,先聲明一下效果圖:恩,接下來正題。首先只有大於等於4.4版本支持這個半透明狀態欄的效果,但是4.4和5.0的顯示效果有
GridView跟ListView都是比較常用的多控件布局,而GridView更是實現九宮圖的首選!本文就是介紹如何使用GridView實現九宮圖。GridView的用法
為什麼要修改路徑呢……因為我之前裝過Eclipse,也裝過Android SDK,但是昨天裝Android Studio的時候不小心又裝了一個