如何在gridview Android中找出项目的坐标

时间:2013-04-18 15:27:39

标签: android gridview coordinates

我想了解如何根据返回的位置找到用户点击的gridview的坐标(x,y)?

    0 1 2 
    3 4 5
    6 7 8

如果我使用4作为所选项目,我可以知道它在第1行

 4 / columnLength(3) = 1.3 etc 

但是最好的方法是对列进行计算? 还是有一些我可以利用的内置方法?

3 个答案:

答案 0 :(得分:4)

首先我们需要定义一些东西

int numberOfColumns;//should be able to get this from the view
int numberOfRows = Math.ceil(items.Count / numberOfColumns);

然后我们可以找出位置

int row = Math.ceil((position + 1) / numberOfColumns);
int column = (row * numberOfColumns) - position;

应该这样做

答案 1 :(得分:0)

你可以尝试这样的事情,虽然我以前从未这样做过。

GridView gv = new GridView(this);
gv.setOnTouchListener(new View.OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        event.getX();
        event.getY();
    }
});

答案 2 :(得分:0)

y = position - (x * columnLength);