我知道每种情况都会有所不同,但我只是想知道是否有一般性建议。
目前,我的活动(屏幕)动态创建自定义按钮对象和自定义编辑文本对象。这些对象中的每一个都有侦听器,以查看它们的状态是否已更改。这些对象类具有屏幕的所有逻辑。活动的唯一工作是将对象分配给我用XML创建的小部件。
部分我认为它应该是相反的,其中活动包含屏幕上所有小部件的所有逻辑,并且只是在听众熄灭时等待对象通知它。
哪种方式更“标准”?
答案 0 :(得分:0)
我使用以下方式。我在每个活动或片段中都有一个共同的EventHandler子类,我将属于activity的单个实例添加到每个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:
}
}
}
}