自定义 ListActivity 和 onListItemClick 用于内部视图
我有自定义 ListView 和扩展 ArrayAdapter 的自定义适配器。 ArrayAdapter 正在使用两个视图来扩充 xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight">
<TextView android:id="@+id/filePickerTextView1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:minHeight="?android:attr/listPreferredItemHeight"
android:focusable="true" android:text="item" />
<ImageView android:layout_width="wrap_content"
android:focusable="true" android:src="@drawable/icon"
android:layout_height="fill_parent" android:id="@+id/filePickerImageView1"
android:layout_alignParentRight="true" android:layout_alignRight="@android:id/text1"></ImageView>
</RelativeLayout>
在 ListActivity 方法 onListItemClick 中,我正在获取relativelayout 视图。我需要的是,知道单击了哪个确切视图(TextView 或 ImageView)。我可以通过设置侦听器在适配器中获取它,但我在 ListActivity 中需要它。原因是,我需要根据单击的视图引发 setResult。
I have custom ListView with custom adapter extending ArrayAdapter.
ArrayAdapter is inflating xml with two views:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight">
<TextView android:id="@+id/filePickerTextView1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:minHeight="?android:attr/listPreferredItemHeight"
android:focusable="true" android:text="item" />
<ImageView android:layout_width="wrap_content"
android:focusable="true" android:src="@drawable/icon"
android:layout_height="fill_parent" android:id="@+id/filePickerImageView1"
android:layout_alignParentRight="true" android:layout_alignRight="@android:id/text1"></ImageView>
</RelativeLayout>
In ListActivity method onListItemClick i'm getting RelativeLayout view. What i need is, to know which exact view was clicked (TextView or ImageView). I can get this in adapter by setting listeners, but i need it in ListActivity. The reason is, that i need to raise setResult based on clicked view.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在自定义适配器类中,您可以使用下面的代码,然后单击 Textview,相应地您将收到 toast 消息,然后单击 imageview,然后相应地获得 toast 消息。
In Custom adapter class you can used below code then click on Textview accordingly you will get toast message and click on imageview then accordingly get toast message.
5 个月后,我回到我的项目,并找到了我的问题的解决方案。
最简单的方法是将上下文传递给自定义适配器。
https://stackoverflow.com/a/4197364/214081
After 5 months I'm back to my project and I found solution for my question.
Easiest way is to pass context to custom adapter.
https://stackoverflow.com/a/4197364/214081