[英]Android OnClickListener complexity
我需要知道,在復雜性方面哪些更好。 要么為xml為每個按鈕標識一個單獨的onClick方法,如下所示:
android:onClick:"clickHandler"
和java代碼:
public void clickHandler(View v){
Button b = (Button) v;
//do something for that button
};
,或為所有按鈕確定一種方法,並用if條件將它們分開。
Public void clickHandler(View v){
Button b = (Button) v;
if(b.getText().equals("a")){
}
elseif(b.getText().equals("b")){
}
//And so on.
}
我在計算復雜性方面並不是那么好,等等,但這個問題只是令人惱火,我無法回答。 但據我所知,第一種方法增加了很多代碼行!
我會使用第二個選項的版本。 創建一個處理程序,然后使用switch語句確定哪個視圖收到了該事件。 它具有代碼效率,並且完全沒有雜亂。 此外,您不需要在xml中列出該屬性...我個人認為在您的活動中查找ViewById()並實現onClickListener要容易得多。 然后,您可以在switch語句中使用每個按鈕的id。
我一般喜歡后者。 除了我傾向於做一些看起來更像這樣的事情:
public void onClick(View v){
switch(v.getId()){
case R.id.button_a:
//do button a logic here
break;
case R.id.button_b:
//do button b logic here
break;
}
}
考慮使用findViewById(R.id.button_a).setOnClickListener(this);
使您的Activity implement View.OnClickListener
不是使用OnCreate()
簡單附加findViewById(R.id.button_a).setOnClickListener(this);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.