Search in sources :

Example 1 with ItemBinderFactory

use of com.shizhefei.view.multitype.ItemBinderFactory in project MVCHelper by LuckyJayce.

the class MultiTypeActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_multi_type);
    backButton = findViewById(R.id.button1);
    coolRefreshView = (CoolRefreshView) findViewById(R.id.multiType_coolRefreshView);
    recyclerView = (RecyclerView) findViewById(R.id.multiType_recyclerView);
    coolRefreshView.setPullHeader(new DefaultHeader());
    recyclerView.setLayoutManager(new LinearLayoutManager(this));
    ItemBinderFactory factory = new ItemBinderFactory();
    factory.registerProvider(Book.class, new BookProvider());
    factory.registerProvider(Message.class, new ItemViewProviderSet<Message>(new MessageProvider(MessageProvider.ALIGN_LEFT), new MessageProvider(MessageProvider.ALIGN_RIGHT)) {

        @Override
        protected int selectIndex(Message message) {
            return myUserId.equals(message.userId) ? 1 : 0;
        }
    });
    multiTypeDataAdapter = new MultiTypeDataAdapter<>(factory);
    //        adapter.addHeader(view);
    multiTypeDataAdapter.setOnItemClickListener(OnItemClickListener);
    mvcHelper = new MVCCoolHelper<>(coolRefreshView);
    mvcHelper.setDataSource(new MyDataSource());
    mvcHelper.setAdapter(multiTypeDataAdapter);
    mvcHelper.refresh();
    backButton.setOnClickListener(OnClickListener);
}
Also used : MyDataSource(com.shizhefei.test.models.datasource.MyDataSource) MessageProvider(com.shizhefei.test.view.adapters.multitype.provider.MessageProvider) Message(com.shizhefei.test.view.adapters.multitype.Message) ItemBinderFactory(com.shizhefei.view.multitype.ItemBinderFactory) DefaultHeader(com.shizhefei.view.coolrefreshview.header.DefaultHeader) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) BookProvider(com.shizhefei.test.view.adapters.multitype.provider.BookProvider)

Aggregations

LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 MyDataSource (com.shizhefei.test.models.datasource.MyDataSource)1 Message (com.shizhefei.test.view.adapters.multitype.Message)1 BookProvider (com.shizhefei.test.view.adapters.multitype.provider.BookProvider)1 MessageProvider (com.shizhefei.test.view.adapters.multitype.provider.MessageProvider)1 DefaultHeader (com.shizhefei.view.coolrefreshview.header.DefaultHeader)1 ItemBinderFactory (com.shizhefei.view.multitype.ItemBinderFactory)1