Java 内部视图上的自定义listview onclicklistener

Java 内部视图上的自定义listview onclicklistener,java,android,xml,Java,Android,Xml,我目前创建了一个需要自定义listview的应用程序。listview的一切都很好,但现在我需要知道如何将onClickListener设置为在我的list_row.xml中定义的视图。我只想让onclicklistener处理整个项目,以及这个内部视图。我附上一张图片来说明我的问题,因为它太难描述了>< 图片(下拉框): 我需要一个在点击[我的问题]显示的视图时调用的函数。它是一个充满图像的ImageView。要在每行中设置OnClickListener,只需扩展当前适配器并覆盖getView

我目前创建了一个需要自定义listview的应用程序。listview的一切都很好,但现在我需要知道如何将onClickListener设置为在我的list_row.xml中定义的视图。我只想让onclicklistener处理整个项目,以及这个内部视图。我附上一张图片来说明我的问题,因为它太难描述了>< 图片(下拉框):


我需要一个在点击[我的问题]显示的视图时调用的函数。它是一个充满图像的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
      // ...
    }
  } );

  // ...
}
工作完美。喜欢魅力:)提前谢谢你!