为自定义ListView适配器创建拆分按钮

时间:2010-07-03 02:50:20

标签: android listview listviewitem

我想创建一个列表适配器来格式化这样的视图:

List Entry

我希望能够在用户点击图片时触发不同的onClick。我已经在getView()覆盖中定义了onClick图像本身,但是如何获取被单击的行的位置以便我可以更新数据库中的记录以记录操作?

1 个答案:

答案 0 :(得分:3)

首先,您需要代表适配器的ListView。如果你把它存放在某个地方,很棒;如果没有,你可以获取传递给onClick()的View并调用它的getParent()方法两次(或者更多,如果图像嵌套在被点击项目的视图中更深),以获取ListView。

从那里,调用传递给onClick()的View上的ListView.getPositionForView()。这将为您提供一个int,表示列表适配器中单击项的位置。从那里,你可以用它做任何你想做的事。

例如:

public void onClick(View v){
    ListView lv = (ListView)(v.getParent().getParent()); // you may need more getParent()s and/or extra casting
    int position = lv.getPositionForView(v);
    /* Do whatever database stuff
     * You want to do
    */
}