正确的方法

gvFlow.post(new Runnable() {
@Override
public void run() {
gvFlow.performItemClick(gvFlow.getChildAt(1), 1, gvFlow.getItemIdAtPosition(1)); }
});

以上触发的点击事件,在 clickListener里面可以获取到正确的view ,并对view进行状态改变。(这里放到post里面是为了 传过去的view不是nul,因为performItem是异步的。)

如果用

gvFlow.performItemClick(gvFlow.getAdapter().getView(mActivePosition,null,null),mActivePosition,gvFlow.getAdapter().getItemId(mActivePosition));

注:mActivePosition是你要点击的GridView或ListView的position

如果用上面的方法触发点击事件,在 clickListener里面不能得到正确的view ,对view的任何修改都 无效。

2016/04/05

前面的方法都 有小问题,

04-23 19:34