任何人都可以指导我如何设置网格视图的特定元素?
.setSelection(positionOfItem)无效。
gridViewSize = (GridView) inflaterView.findViewById(R.id.grid_sizes);
gridViewSize.setAdapter(new PopupSizeAdapter(context,typeArr,1));
gridViewSize.setSelection(0);
答案 0 :(得分:2)
它对我有用
mGridView.setSelection(pos);
mGridView.requestFocusFromTouch();
mGridView.setSelection(pos);
答案 1 :(得分:1)
我今天遇到了同样的问题,以下是我的解决方案:
GridView.getViewTreeObserver.addOnGlobalLayoutListener(getLayoutListener(mGridView))
private static ViewTreeObserver.OnGlobalLayoutListener getLayoutListener(final GridView mGridView) {
ViewTreeObserver.OnGlobalLayoutListener listener = new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
View view = mGridView.getChildAt(0);
if(view != null) {
if(!view.isSelected()) {
view.setSelected(true);
} else {
// remove the listener after the first time.
if (Build.VERSION.SDK_INT < 16) {
mGridView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
} else {
mGridView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
}
}
}
};
return listener;
}
并且,如果您使用的是android API&gt; = 11,您还可以将View.OnLayoutChangeListener添加到GridView。
答案 2 :(得分:0)
试试这个:
grid.performItemClick(view, position, id);
然后我的状态drawable在GridView上正常工作。