2015-10-02 168 views
1

我知道每一種情況都會有所不同,但我只是想看看是否有一般性建議。組織android開發代碼的最佳方式是什麼?

目前,我有我的活動(屏幕)動態創建自定義按鈕對象和自定義編輯文本對象。這些對象中的每一個都有偵聽器來查看它們的狀態是否發生了變化。這些對象類具有屏幕的所有邏輯。該活動的唯一工作是將對象分配給我在XML中創建的小部件。

部分我認爲它應該是相反的,其中活動包含屏幕上所有小部件的所有邏輯,並簡單地等待對象在聽衆離開時通知它。

哪種方式更「標準」?

回答

0

我使用以下方法。我在每個活動或片段中都有一個常見的EventHandler子類,並將屬於活動的單個實例添加到每個UI項目。 EventHandler實現了OnClickListener,OnChanged ..等等。

我也建議在看這個庫,如果你熟悉DI概念:

https://github.com/roboguice/roboguice/

這裏是我的代碼示例:

package com.x.y; 

public class DashboardActivity extends FragmentActivity { 

    private EventHandler eventHandler = new EventHandler(); 

    @SomeAnnotationForInit(R.id.some_id) 
    private Button feedButton; 

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

     initGui(); 
    } 

    private void initGui() { 
     feedButton.setOnClickListener(eventHandler); 
    } 

    private class EventHandler implements View.OnClickListener { 

     @Override 
     public void onClick(View view) { 
      if(view.equals(...)) { 
       //TODO: 
      } 
     } 
    } 
} 
相關問題