Parent -> Child
Activity -> ListItem
listitem 的动作需要依靠场景的某些属性,又需要做到解耦,因此不能让ListItem拥有Activity的对象。
可以这么做。
class ListItem {
public interface Properties {
boolean isTouchable();
String getName();
boolean isInSky();
}
protected Properties mProperties;
public void setProperties(Properties p) {
mProperties = p;
}
@Click(R.id.fly)
void fly() {
if (p != null && p.isInSky()) {
// do fly business
}
}
}
DemoActivity implements ListItem.Properties {
public boolean isTouchable() {
return true;
}
public getName() {
return DemoActivity.class.getSimpleName();
}
...
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。