【发布时间】:2015-02-04 06:29:46
【问题描述】:
我很难弄清楚这一点。我有 8 个按钮的网格视图。目前我正在使用 onItemClickListener 来触发按钮操作,但这给我带来了两个问题。
1) 按钮动作发生在按钮未被按下后。
2) 两个按钮不能同时按下,必须松开第一个按钮。
据我所知,onTouchListener 应该可以解决我的第一个问题,尽管我不确定如何确定按下了哪个按钮。我的 onItemClickListener 代码如下
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(Activity.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
现在有了以上内容,我确切地知道按下了哪个按钮。我相信实现为 onTouchListener 的代码如下
gridview.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return false;
}
}) {
我应该如何确定使用 MotionEvent 按下了哪个按钮?在我通过“职位”之前,这让这件事变得相当容易。我还需要考虑是否同时按下了两个或多个按钮/没有放开另一个按钮。
有谁知道如何做到这一点?
【问题讨论】:
标签: android gridview touch-event ontouchlistener