android - onClickListener for ImageView within ListView managed by ArrayAdapter -


i have listview content handled custom arrayadapter. layout i'm using has 1 textview , 1 imageview.

layout:

<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:gravity="center_vertical"     android:orientation="horizontal">      <textview         android:id="@+id/string"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:text="@string/default"         android:textsize="20sp"/>      <imageview         android:id="@+id/delete_row"         android:layout_width="wrap_content"         android:layout_height="fill_parent"         android:src="@drawable/ic_cancel"         android:layout_alignparentend="true"         android:layout_alignparentright="true"         android:contentdescription="@string/delete_row"/>  </relativelayout> 

main java class:

listview listview = (listview) findviewbyid(r.id.listview); arrayadapter<string> arrayadapter = new stringlist(this, strings); listview.setemptyview(findviewbyid(r.id.empty)); listview.setadapter(arrayadapter); 

now declare onclicklistener hole item, quite easy:

listview.setonitemclicklistener((parent, view, position, id) -> { .... }); 

but know want have onclicklistener imageview ,

i don't want put onclicklistener in custom arrayadapter file, because when clicking on image, there should happen lot of things (not removing row).

so how can set onclicklistener imageview within listview, managed arrayadapter?

inside adapter getview implement onclicklistener image view

@override public view getview(int position, view convertview, viewgroup parent) {      if(convertview == null){         convertview = inflater.inflate(r.layout.list_row, parent, false);     }      imageview imageview = (imageview) convertview.findviewbyid(r.id.imageview);      imageview.setonclicklistener(new onclicklistener() {          @override         public void onclick(view view) {            // staff         }     });      return convertview; } 

Comments

Popular posts from this blog

php - Vagrant up error - Uncaught Reflection Exception: Class DOMDocument does not exist -

vue.js - Create hooks for automated testing -

Add new key value to json node in java -