如果我的OOP申请不正确,请纠正我。我在/src/myworkspace/MyObject.java
有一个自定义的Android类,它不会扩展任何内容。
public class MyObject {
...
public void methodOne() {
...
}
}
在主要活动中,调用MyObject.methodOne()
我如何操作methodOne中的视图对象?
例如类似于
mButton = (Button) findViewById(R.id.button_one);
mButton.setOnClickListener(mButtonListener);
MyObject的方法在许多活动中被重用。如果这种方法不正确,那么应该在哪里存储可重复的代码?
答案 0 :(得分:1)
我建议MyObject接收一个视图作为参数:
public class MyObject {
...
public void methodOne(Button button) {
...
}
}
只需从您的活动中调用它:
... activity code ....
MyObject obj = new MyObject();
Button button = (Button) findViewById(R.id.button_one);
obj.methodOne(button);
.... more activity code.
您也可以使用其他方法:
将MyObject绑定到构造函数中的活动:
MyObject(Activity owner) {
.. assign activity to member
}
使用Object作为嵌套的内部类。
Activity
class MyObject {
每个人都有它的优点或者得到的,我个人会坚持通过参数传递一个视图,它是最松散耦合的,而IMO最简单,最不容易出错。