Parent -> Childcode
Activity -> ListItem对象
listitem 的动做须要依靠场景的某些属性,又须要作到解耦,所以不能让ListItem拥有Activity的对象。get
能够这么作。it
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(); } ... }