正如標題所示,在Android中遵循什麼更好的技術?我提到了幾個文檔,但找不到我需要的很多細節。實現接口vs在Android中傳遞接口對象
考慮我有5+的意見,我想在一個地方處理他們的點擊,然後創建一個ClickListener object
和傳球最好還是在活動/片段實施ClickListener interface
,然後傳遞活動的實例/片段是更好爲什麼?
編輯
讓我補充一個例子,因爲大多數的人都無法理解的聲明
案例1:
private final View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
//some code
}
};
public void doSomeTask(){
view1.setOnClickListener(onClickListener);
view2.setOnClickListener(onClickListener);
view3.setOnClickListener(onClickListener);
}
案例2:
public class SomeActivity extends AppCompatActivity implements View.OnClickListener {
//some code
public void doSomeTask(){
view1.setOnClickListener(this);
view2.setOnClickListener(this);
view3.setOnClickListener(this);
}
@Override
public void onClick(View view) {
//some code
}
}
哪一個是最好的方法案例1或案例2?
我不確定,但你的問題像java中的多繼承或多級繼承? –
取決於你將來需要其他的點擊監聽器,我通常創建一個ClickListener對象並使用它來代替實現接口,我發現這種方式稍微乾淨一點,而不是實現接口,然後在需要時創建ClickListeners 。無論如何,我認爲它不會有太大的變化,所以請儘量使用你最喜歡的東西。 – Ayoub
@Aoub是的,一般來說它沒有太大的區別,但是當項目規模增加並且其他代碼對當前代碼的依賴性不斷增加時會出現問題。其他要考慮的事項是活動與片段相關的時間長短,它在哪裏被使用等等。一般來說,我實現了接口,但最近遇到了相沖突的代碼。所以是的,除了代碼維護之外,我還需要一些更加傻瓜的原因。 –