Android:从子按钮获取列表行#

时间:2011-06-28 15:24:08

标签: android android-listview listactivity

我有商店建筑位置的列表视图。每行包含地址,电话,小时等。我添加了一个按钮,以便在按下时可以调用拨号器意图。

按下按钮时会调用我的方法,但我无法弄清楚如何获取我需要的行#。

这就是我所拥有的。如何获得此按钮子项所在的listview行#?

public void myPhoneClickHandler(View v) 
{
    int key_RowId =0;
    Toast displayToast = Toast.makeText(branchPicker.this,
            "You pressed:" + key_RowId, Toast.LENGTH_LONG);
    displayToast.show();
}    

<Button 
android:text="Call" 
android:id="@+id/bBranchCall"
android:layout_width="fill_parent" 
android:layout_height="wrap_content" android:onClick="myPhoneClickHandler">

感谢Gopal,它起作用了

解决方案:

public void myPhoneClickHandler(View v) 
{
    ListView lv = getListView();

    if (lv == null)
        return;

    final int position = lv.getPositionForView(v);
    if (position < 0)
        return;

    Toast displayToast = Toast.makeText(branchPicker.this,
            "You pressed:" + position, Toast.LENGTH_LONG);
    displayToast.show();
}

2 个答案:

答案 0 :(得分:1)

您可以在按钮上调用setTag,在按钮视图上调用onClick调用getTag。 Link about Set Tag

我的一个项目中使用的setTag和getTag是Link。搜索onClick方法,希望这有助于解决您的问题。

答案 1 :(得分:0)

好吧,我猜你可以做lvItems.getSelectedItem(),但为什么不使用onItemClickListener并将其附加到listview?