2 yinxiaopei yinxiaopei 于 2015.06.17 09:09 提问

android中,进入界面在onresume中怎么模拟gridview的item被点击。

我想实现的功能是,在进入界面的时候,gridview的item不用自己按下就被点击,然后可以执行OnItemClickListener里的方法。ps:在activity中,怎么判断gridview的第几个item被选中,如果根据选中的item,获取gridview下的子控件。谢谢回答。

4个回答

Arnold9009
Arnold9009   2015.06.17 09:58

模拟发送点击动作呗
1. // 模拟屏幕点击事件 - 只在 Activity 中有用

2. public void setMouseClick(){

3. MotionEvent evenDownt = MotionEvent.obtain(System.currentTimeMillis(), System.currentTimeMillis() + 100,

4. MotionEvent.ACTION_DOWN, 100, 400, 0);

5. dispatchTouchEvent(evenDownt);

6. MotionEvent eventUp = MotionEvent.obtain(System.currentTimeMillis(), System.currentTimeMillis() + 100,

7. MotionEvent.ACTION_UP, 100, 400, 0);

8. dispatchTouchEvent(eventUp);

9. evenDownt.recycle();

10. eventUp.recycle();

11. }

yinxiaopei
yinxiaopei 亲 我主要想知道的是怎么自动进入item的点击事件,,
2 年多之前 回复
lht80s
lht80s   2015.06.18 13:28

点击事件既然叫做点击事件,作用就是响应点击动作,来进行操作,不管是模拟点击还是实际点击,都要有点击这个动作。
如果你想执行某操作,又不想进行点击,那又何必把操作写在点击事件里,直接写到oncreate里,不就进了界面就执行了。

lht80s
lht80s   2015.06.18 14:02

好吧,也许我说的有点问题,换个方式再说一次好了……如果是想在离开页面再回来时,恢复先前状态的话,不必执着于“再点一次”这件事,
而把注意力放到恢复该点击事件所形成的结果上。
例如,点一个item,在页面容器中放入了一个fragment,离开再回来,
不用去记录“点的哪个item,再点一次”
而是,记录“离开时放入的是哪个fragment,在容器中重新加载该fragment”,这样就行了。

同样,点一个item,显示了某些东西,离开再回来,
不用去记录“点的哪个item,再点一次”
而是,记录“离开时哪些组件内容发生了变化,发生了什么变化,在恢复页面时,把这些变化恢复了”,这样就行了。

islamabad8
islamabad8   2015.06.20 01:35

看看grideview有没有类似 pre...click的方法,有的话就在onresume调用,button是有这个方法的,或者你在item中加button

Csdn user default icon
上传中...
上传图片
插入图片