void setHeadersVisiblity(boolean show) { mShow = show; final VerticalGridView listView = getVerticalGridView(); if (listView == null) { return; } final int count = listView.getChildCount(); final int visibility = mShow ? View.VISIBLE : View.INVISIBLE; // we should set visibility of selected view first so that it can // regain the focus from parent (which is FOCUS_AFTER_DESCENDANT) final int selectedPosition = listView.getSelectedPosition(); if (selectedPosition >= 0) { RecyclerView.ViewHolder vh = listView.findViewHolderForPosition(selectedPosition); if (vh != null) { vh.itemView.setVisibility(visibility); } } for (int i = 0; i < count; i++) { View child = listView.getChildAt(i); if (listView.getChildPosition(child) != selectedPosition) { child.setVisibility(visibility); } } }
/** * Returns the position if the currently selected GuidedAction. * * @return position The integer position of the currently selected action. */ public int getSelectedActionPosition() { return mListView.getSelectedPosition(); }