Java 内部视图上的自定义listview onclicklistener
我目前创建了一个需要自定义listview的应用程序。listview的一切都很好,但现在我需要知道如何将onClickListener设置为在我的list_row.xml中定义的视图。我只想让onclicklistener处理整个项目,以及这个内部视图。我附上一张图片来说明我的问题,因为它太难描述了>< 图片(下拉框):Java 内部视图上的自定义listview onclicklistener,java,android,xml,Java,Android,Xml,我目前创建了一个需要自定义listview的应用程序。listview的一切都很好,但现在我需要知道如何将onClickListener设置为在我的list_row.xml中定义的视图。我只想让onclicklistener处理整个项目,以及这个内部视图。我附上一张图片来说明我的问题,因为它太难描述了>< 图片(下拉框): 我需要一个在点击[我的问题]显示的视图时调用的函数。它是一个充满图像的ImageView。要在每行中设置OnClickListener,只需扩展当前适配器并覆盖getView
我需要一个在点击[我的问题]显示的视图时调用的函数。它是一个充满图像的ImageView。要在每行中设置OnClickListener,只需扩展当前适配器并覆盖
getView()
方法。在这里,您可以像通常一样定义特定的侦听器
Romain Guy在这篇文章中详细讨论了这一点。我以前做过一些事情,看起来与您想要完成的事情非常相似 首先,为
列表视图
声明一个监听器
。这将处理标准列表项点击(即,在列表项内部点击,但在您关心的内部视图区域之外点击)。您可以在代码中的许多地方执行此操作,但onCreate()
是常见的
例如:
mListView.setOnItemClickListener( new OnItemClickListener() {
@Override
public void onItemClick( AdapterView<?> parent, View view, int position, long id ) {
// Handle standard list item tap
// ...
}
} );
@Override
public View getView( int position, View convertView, ViewGroup parent ) {
LinearLayout itemView;
// Inflate layout XML, etc.
// ...
// Find subviews in layout
ImageView innerView = (ImageView) itemView.findViewById( R.id.myInnerViewId );
// ...
// Set up onClickListener for inner view
innerView.setOnClickListener( new OnClickListener() {
@Override
public void onClick( View v ) {
// Handle inner view tap
// ...
}
} );
// ...
}
工作完美。喜欢魅力:)提前谢谢你!