我有一个包含三个TextView的ListView:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/txtProductName"
android:text="name"
android:textSize="17sp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_width="0dp"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/txtOPrice"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txtOPrice"
android:text="1.60"
android:textSize="17sp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_width="65dp"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_dark"
android:clickable="true"
android:textStyle="bold"
android:textColor="#ffffff"
android:layout_toLeftOf="@+id/txtNetPrice"
android:textAlignment="center" />
<TextView
android:id="@+id/txtNetPrice"
android:text="1.61"
android:textSize="17sp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_width="65dp"
android:layout_height="wrap_content"
android:background="@android:color/holo_red_light"
android:textStyle="bold"
android:textColor="@android:color/white"
android:layout_alignParentRight="true"
android:textAlignment="center" />
</RelativeLayout>
我按如下方式处理ListView项目点击事件:
adapter = new productListAdapter(this,arrayListProducts);
listProducts.setAdapter(adapter);
listProducts.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//how to know which textview was clicked?
}
});
我只想知道如何确定点击了哪些TextView?
我是一个新手,搜索了很多但没有发现任何东西。
我会感激任何帮助。提前谢谢!
答案 0 :(得分:0)
收到回调后,view
参数是点击的视图项,i
是列表视图中的位置。但是,view
是对整个列表项的引用,意味着您的RelativeLayout
。从那里你可以在view参数上使用findViewById()
找到你需要的特定TextView,这将返回列表项中所需的TextView
答案 1 :(得分:0)
您可以在布局的所有3个文本视图上设置单击侦听器,也可以将标记设置为所有视图。因此,通过使用tag和id,您可以获得单击的视图。
答案 2 :(得分:0)
为什么不将listview与自定义适配器一起使用,并为每个textview添加clicklistner。