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

标签 android android-listview listactivity

我有一个商店建筑位置的 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/

相关文章:

android - 来自 GIT 的闹钟 - 给出错误 - Android

android - FireBaseCloud如何启动 list 中注册的服务?

android - ListView 选择器不适用于 ListViewItem 的背景集

android - 列表项点击检查android中listview中放置的检查

android - 在 ListView 中突出显示行的边框

ListActivity中标题栏中的Android自定义字体

android - 列出 fragment 中的 Activity

java - 在Android上解析SSL加密网站

java - Exoplayer 离线 - 下载消耗的数据量超过文件大小

Android - 具有多个 ListActivity 的应用程序导致 onListItemClick 中的正确 Id