Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class AbstractTable<T> {
- private List<T> data;
- protected void onLoad(){
- loadData(new Callback<T>(){
- @Override
- public void onSuccess(List<T> result) {
- data = result;
- onFinishLoading();
- }
- @Override
- public void onFail(Exception e) {
- // display error
- }
- });
- }
- protected void onFinishLoading(){
- for(final T item:data){
- AbstractItem tableItem = createTableItem();
- tableItem.renderhead(item);
- tableItem.setOnclick( ()-> {tableItem.renderBody(item);});
- }
- }
- protected abstract AbstractItem createTableItem();
- protected abstract void loadData(Callback<T> cb);
- }
- public abstract class AbstractItem<T> {
- public void setOnclick(OnClickListener listener){
- }
- public abstract String renderhead(T itemObject);
- public abstract String renderBody(T itemObject);
- }
- public class PersonsTable extends AbstractTable<Person>{
- @Override
- protected AbstractItem createTableItem() {
- return new PersonTableItem();
- }
- @Override
- protected void loadData(Callback<Person> cb) {
- }
- }
- public class PersonTableItem extends AbstractItem<Person> {
- @Override
- public String renderhead(Person itemObject) {
- return "<h6>"+itemObject.nom + " "+itemObject.prenom+"</h6>";
- }
- @Override
- public String renderBody(Person itemObject) {
- String html = "<tel>"+itemObject.tel+"</tel>";
- html+= "<p>"+itemObject.adresse+"</p>";
- return html;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement