custom promise, bind listview event