Search in sources :

Example 1 with BigramHeaderAdapter

use of com.marshalchen.common.demoofui.recyclerviewstickyheaders.adapters.BigramHeaderAdapter in project UltimateAndroid by cymcsg.

the class RecyclerViewStickyHeadersActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.recycler_view_sticky_head_activity_main);
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    list = (RecyclerView) findViewById(R.id.list);
    samplesSpinner = (Spinner) findViewById(R.id.samples_spinner);
    list.setLayoutManager(new LinearLayoutManager(RecyclerViewStickyHeadersActivity.this, LinearLayoutManager.VERTICAL, false));
    personDataProvider = new PersonDataProvider();
    personAdapter = new PersonAdapter(personDataProvider);
    top = new StickyHeadersBuilder().setAdapter(personAdapter).setRecyclerView(list).setStickyHeadersAdapter(new BigramHeaderAdapter(personDataProvider.getItems())).build();
    overlay = new StickyHeadersBuilder().setAdapter(personAdapter).setRecyclerView(list).setStickyHeadersAdapter(new InitialHeaderAdapter(personDataProvider.getItems()), true).build();
    // Inflate a menu to be displayed in the toolbar
    toolbar.inflateMenu(R.menu.recycler_view_stick_header);
    // Set an OnMenuItemClickListener to handle menu item clicks
    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {

        @Override
        public boolean onMenuItemClick(MenuItem item) {
            if (item.getItemId() == R.id.add_item) {
                int addedPosition = personDataProvider.insertAfter(list.getChildPosition(list.getChildAt(0)));
                personAdapter.notifyItemInserted(addedPosition);
                return true;
            } else if (item.getItemId() == R.id.github) {
                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/eowise/recyclerview-stickyheaders/"));
                startActivity(browserIntent);
                return true;
            }
            return false;
        }
    });
    samplesSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            if (i == 0) {
                list.setAdapter(personAdapter);
                list.removeItemDecoration(overlay);
                list.addItemDecoration(top);
            } else {
                list.setAdapter(personAdapter);
                list.removeItemDecoration(top);
                list.addItemDecoration(overlay);
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
        }
    });
}
Also used : PersonAdapter(com.marshalchen.common.demoofui.recyclerviewstickyheaders.adapters.PersonAdapter) MenuItem(android.view.MenuItem) Intent(android.content.Intent) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) RecyclerView(android.support.v7.widget.RecyclerView) View(android.view.View) AdapterView(android.widget.AdapterView) StickyHeadersBuilder(com.marshalchen.common.uimodule.recyclerviewstickyheaders.StickyHeadersBuilder) BigramHeaderAdapter(com.marshalchen.common.demoofui.recyclerviewstickyheaders.adapters.BigramHeaderAdapter) PersonDataProvider(com.marshalchen.common.demoofui.recyclerviewstickyheaders.data.PersonDataProvider) AdapterView(android.widget.AdapterView) InitialHeaderAdapter(com.marshalchen.common.demoofui.recyclerviewstickyheaders.adapters.InitialHeaderAdapter) Toolbar(android.support.v7.widget.Toolbar)

Aggregations

Intent (android.content.Intent)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 RecyclerView (android.support.v7.widget.RecyclerView)1 Toolbar (android.support.v7.widget.Toolbar)1 MenuItem (android.view.MenuItem)1 View (android.view.View)1 AdapterView (android.widget.AdapterView)1 BigramHeaderAdapter (com.marshalchen.common.demoofui.recyclerviewstickyheaders.adapters.BigramHeaderAdapter)1 InitialHeaderAdapter (com.marshalchen.common.demoofui.recyclerviewstickyheaders.adapters.InitialHeaderAdapter)1 PersonAdapter (com.marshalchen.common.demoofui.recyclerviewstickyheaders.adapters.PersonAdapter)1 PersonDataProvider (com.marshalchen.common.demoofui.recyclerviewstickyheaders.data.PersonDataProvider)1 StickyHeadersBuilder (com.marshalchen.common.uimodule.recyclerviewstickyheaders.StickyHeadersBuilder)1