我有一个商店建筑位置的 ListView 。每行包含地址、电话、时间等。我添加了一个按钮,以便在按下时可以调用拨号器 Intent 。
按下按钮时会调用我的方法,但我不知道如何获取我需要的行#。
这是我的。如何获取此按钮子项所在的 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();
}
最佳答案
您可以在 Button 上调用 setTag,并在 onClick 中调用 Button View 上的 getTag。 Link about Set Tag
在我的一个项目中使用的 setTag 和 getTag 是 Link .搜索 onClick 方法,希望这有助于解决您的问题。
关于Android:从子按钮按下获取列表行#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508915/