国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

三種Android單擊事件onclick的實現方法

2019-12-12 06:23:58
字體:
來源:轉載
供稿:網友

onclick事件的定義方法,分為三種,分別為在xml中進行指定方法;在Actitivy中new出一個OnClickListenner();實現OnClickListener接口三種方式。
代碼分別如下:
1. xml指定onclick事件,這種方式比較適用于指定的button,能使java代碼相對簡化一些:
xml文件中:

<span style="color:#333333;"><Button android:text="Button03"    android:id="@+id/Button03"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    <span style="color:#FF0000;">android:onClick="</span><span style="color:#ff0000;">Btn3OnClick</span><span style="color:#333333;">"</span>>  </Button> </span> 

紅色部分指定響應的方法名!
Activity中定義方法:

public void Btn3OnClick(View view){    Intent intent = new Intent(mainActivity.this, fristActivity.class);    intent.putExtra("data", "mainActivity");    startActivity(intent);  }  

2. 在onCreate方法中為button指定綁定操作,以下方法中,xml里如果同時指定了事件的執行方法,則優先執行xml中的內容。

protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    findViewById(R.id.Button03).setOnClickListener(new OnClickListener(){      @Override      public void onClick(View v) {        Intent intent = new Intent(mainActivity.this, fristActivity.class);        intent.putExtra("data", "mainActivity");        startActivity(intent);           }        });  }  

此種方式會使代碼看上去比較直觀,但是效率不高,特別是寫在listView的適配器中getView時,new出多個對象,占用資源。優化版的寫法如下,將點擊對象提出來如下:

protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    findViewById(R.id.Button03).setOnClickListener(onclick);  }  OnClickListener onclick = new OnClickListener(){    @Override    public void onClick(View v) {      Intent intent = new Intent(mainActivity.this, fristActivity.class);      intent.putExtra("data", "mainActivity");      startActivity(intent);     }  }; 

 3. 實現OnClickListener接口,這種方式使用量比較多,能解決同一個activity中所有的onclick問題。

public class mainActivity extends Activity implements OnClickListener{    protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.main);      findViewById(R.id.Button02).setOnClickListener(this);      findViewById(R.id.Button03).setOnClickListener(this);    }    public void onClick(View view) {      switch (v.getId()) {        case R.id.Button03:          Intent intent = new Intent(mainActivity.this, fristActivity.class);          intent.putExtra("data", "mainActivity");          startActivity(intent);           break;             case R.id.Button02:          Intent intent = new Intent(mainActivity.this, loginActivity.class);          intent.putExtra("data", "mainActivity");          startActivity(intent);           break;         default:          break;      }    }    ……  }  

這三種方式都能實現點擊事件的處理,可根據使用環境,分析哪種比較適合!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿州市| 元朗区| 张掖市| 台山市| 溧阳市| 渝北区| 磐石市| 双牌县| 双柏县| 南阳市| 泰和县| 锡林浩特市| 镇巴县| 长岛县| 崇州市| 普格县| 太谷县| 柳州市| 永仁县| 麻城市| 洛宁县| 凉城县| 泰顺县| 卢龙县| 丁青县| 隆回县| 浙江省| 江北区| 峨眉山市| 上林县| 隆回县| 县级市| 太和县| 老河口市| 突泉县| 兰坪| 华亭县| 孝义市| 舟曲县| 阿拉善盟| 桃园县|