private void undoChange() { if (mHistory != null) { if (mHistory.action == ACTION_REMOVE) { for (int i = 0, size = mHistory.items.size(); i < size; i++) { FastAdapter.RelativeInfo<Item> relativeInfo = mHistory.items.get(i); if (relativeInfo.adapter instanceof IItemAdapter) { IItemAdapter<?, Item> adapter = (IItemAdapter<?, Item>) relativeInfo.adapter; adapter.addInternal(relativeInfo.position, asList(relativeInfo.item)); if (relativeInfo.item.isSelected()) { mAdapter.select(relativeInfo.position); } } } } } mHistory = null; }
@Override public void onClick(View v, int position, FastAdapter<RadioButtonSampleItem> fastAdapter, RadioButtonSampleItem item) { if (!item.isSelected()) { Set<Integer> selections = fastAdapter.getSelections(); if (!selections.isEmpty()) { int selectedPosition = selections.iterator().next(); fastAdapter.deselect(); fastAdapter.notifyItemChanged(selectedPosition); } fastAdapter.select(position); } } }
@Test public void select() throws Exception { adapter.withSelectable(true); itemAdapter.set(TestDataGenerator.genTestItemList(100)); assertThat(adapter.getSelectedItems().size()).isEqualTo(0); assertThat(adapter.getSelections().size()).isEqualTo(0); adapter.select(10); assertThat(adapter.getSelectedItems().size()).isEqualTo(1); assertThat(adapter.getSelectedItems().iterator().next().getIdentifier()).isEqualTo(10); assertThat(adapter.getSelections().size()).isEqualTo(1); assertThat(adapter.getSelections().iterator().next()).isEqualTo(10); }
/** * set the selection of the MiniDrawer * * @param identifier the identifier of the item which should be selected (-1 for none) */ public void setSelection(long identifier) { if (identifier == -1) { mAdapter.deselect(); } int count = mAdapter.getItemCount(); for (int i = 0; i < count; i++) { IDrawerItem item = mAdapter.getItem(i); if (item.getIdentifier() == identifier && !item.isSelected()) { mAdapter.deselect(); mAdapter.select(i); } } }
mAdapter.select(mSelectedItemPosition);
mAdapter.select(select + profileOffset);