gpt4 book ai didi

android - 在android listview中获取行位置

转载 作者:行者123 更新时间:2023-11-30 04:03:15 26 4
gpt4 key购买 nike

您好,这听起来像是一个愚蠢的问题,但它已经困扰了我几天,而且我还没有在互联网上找到答案。在没有覆盖 onItemclick 方法的 android Listview 中,有没有其他方法可以获取行的位置。

最佳答案

我使用 setTag()/getTag() 方法来获取项目的位置。在列表适配器的 getView() 方法中,使用 setTag("position") 方法将项目的位置设置为行项目的标签(在您的例子中是按钮)。
单击任何行中的按钮时,将为该按钮调用 onClick() 方法,在 onClick() 方法中,您可以使用 getTag() 方法获取位置。对所有行按钮使用与 onClick 例程相同的方法。

示例代码:列表项可以是这样的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<Button
android:id="@+id/button1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="117dp"
android:background="@drawable/grad"
android:onClick="onButtonClick" />

getView() 方法可能是这样的:

public View getView (int position, View convertView, ViewGroup parent) {
...
...
button.setTag(position);
...
}

onClick 例程可能是这样的:

public void onButtonClick(View v) {
String tag = v.getTag().toString();
if(tag != null) {
int position = Integer.parseInt(tag);
}
...
...
}

关于android - 在android listview中获取行位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12153740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com