Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义列表中的图像_Android_Image_List_Adapter - Fatal编程技术网

Android 自定义列表中的图像

Android 自定义列表中的图像,android,image,list,adapter,Android,Image,List,Adapter,我已经创建了一个自定义适配器来显示一个列表,每行中都会显示一个图像。图像对于所有行都是相同的,除了使用一个数组之外,我根据位置为它分配不同的值。xml文件定义了我正在使用的相对布局。我的问题是,我要么让整行都可以点击,要么什么都不可以,我只希望这张图片可以点击,而不是整行。我怎样才能做到这一点?我是安卓新手,我几乎是按照不同的教程来创建我的列表。任何帮助都将不胜感激 布局如下: 正文: 正文: 这是一行看起来像…从两个不同的数组中获取两个文本并显示,第三个数组用于链接到图像。我只是希望这个图像是

我已经创建了一个自定义适配器来显示一个列表,每行中都会显示一个图像。图像对于所有行都是相同的,除了使用一个数组之外,我根据位置为它分配不同的值。xml文件定义了我正在使用的相对布局。我的问题是,我要么让整行都可以点击,要么什么都不可以,我只希望这张图片可以点击,而不是整行。我怎样才能做到这一点?我是安卓新手,我几乎是按照不同的教程来创建我的列表。任何帮助都将不胜感激

布局如下:

正文:

正文:

这是一行看起来像…从两个不同的数组中获取两个文本并显示,第三个数组用于链接到图像。我只是希望这个图像是可点击的,而不是整行


感谢Android的列表组件管理每行的点击量。这使得你很难实现你想要做的事情。我们想到了两种解决方案:

1如果您的列表从不很长,您可以简单地使用线性布局和滚动视图来构建列表。如果您动态地填写列表,并且无法确保不会有非常多的行,那么这种方法将不起作用,因为在这种情况下,它将使用太多的内存

2另一个选项是使用ListView,但在列表中使文本组件和图像具有不同的视图类型,即将行分成三行。 这可以通过覆盖列表适配器的getItemViewTypeint来实现
在这种方法中,您可以使图像行可单击,但文本行不可单击。

谢谢,我会尝试一下。我没有一个庞大的列表,它最多只显示8个元素。它基本上是一个每日视图,其中一行显示时间和类别,第二行显示房间号和建筑号,图像是一个导航按钮,按下该按钮时,会将您带到谷歌地图,并在位置上放置一个pin。但是,它确实在视图之间切换,当您在下一天或前一天向左或向右滑动时,它会将数据从数据库加载到数组中,从而清除屏幕并显示当天的新每日视图。我尝试使用我的ClickHandler,它适用于按钮。。。。。。。。我只是不知道如何传递单击图像所在行的位置值。任何关于如何做到这一点的线索。我的函数看起来像public void myClickHandlerView{//显示一个toast来检查click//但不知道如何将其传递到行的位置或如何查找行的位置。}我不完全确定我是否理解您想要做什么,但听起来您可以通过在创建按钮时为每个按钮添加一个匿名内部类作为侦听器来解决单击侦听器的问题。这样,每个侦听器总是知道它在哪一行,并正确地处理单击。这个概念的例子可以在这里找到:谢谢,我会尝试按照你的建议并尝试实现它,如果我被卡住了,我会尝试发布一个屏幕截图和对我的代码的引用,以便更容易看到我正在尝试做什么。非常感谢你的时间和帮助。
                     [Image]