我有商店建筑位置的列表视图。每行包含地址,电话,小时等。我添加了一个按钮,以便在按下时可以调用拨号器意图。
按下按钮时会调用我的方法,但我无法弄清楚如何获取我需要的行#。
这就是我所拥有的。如何获得此按钮子项所在的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();
}
答案 0 :(得分:1)
您可以在按钮上调用setTag,在按钮视图上调用onClick调用getTag。 Link about Set Tag
我的一个项目中使用的setTag和getTag是Link。搜索onClick方法,希望这有助于解决您的问题。
答案 1 :(得分:0)
好吧,我猜你可以做lvItems.getSelectedItem(),但为什么不使用onItemClickListener并将其附加到listview?