2015-12-19 48 views
0

我正在使用ListView在我的应用程序中显示一些图像和名称。我可以使ListView切片可点击并开始新的活动。但是现在我想针对一个listview tile上的不同项目执行不同的操作。如果用户点击图像,图像打开,textView将显示一些吐司或其他东西。 ImageView和TextView在同一个ListView Tile中。我怎样才能做到这一点?任何帮助?在列表视图中处理多个可点击区域

回答

1

在适配器中的按钮和TextView的定义要求,和你做OnClickListener事件。它们将默认在列表项的点击事件之前。

如果您的自定义行布局所包含的观点没有一个click事件会回落到列表视图项的Click事件。

+0

做我需要在列表视图的itemclicklistner使用一些ID /位置像这样在由西里尔Mottier下面的链接explaned相当不错?或简单的imageView.setOnClickListener将完成这项工作? – deejay

+0

它会完成这项工作。是的,你会需要该ID来获取您的自定义适配器中的ImageView,然后设置onClickListener – AndroidMechanic

+0

感谢兄弟..它的工作..但它有时混合名称与其他listitem的名称。我有三个名字Jhon,Sam和Dee。如果我点击jhon它有时会显示山姆被点击,有时如果我按相同它显示dee被点击。但是,在列表完全加载后,它的工作正常..是一些编码错误还是只是正常的行为? – deejay

1

可以在适配器实现点击事件,但也实现它的活动。 你可以找到解决方案:http://www.migapro.com/click-events-listview-gridview/

希望它可以帮助你。 一些注意事项:不应该像上面tuturial GridView控件使用视图架,它可以使一些bug,可以实现直接像这样:

button1.setOnClickListener(new OnClickListener() { 

@Override 
public void onClick(View v) { 
    ((ListView) parent).performItemClick(v, position, 0); // Let the event be handled in onItemClick() 
} 

});