OnItemClickListener does not work correctly when the adapter contains a button with onClickListener

I have implemented an adapter for my ListView , which extends the BaseAdapter. My list items contain buttons in which each one has an OnClickListener.

after adding an OnclickLister for each item, the OnItemClickListener list stopped working.

How can this be fixed?

code

In my work -

  ListView lv = (ListView) findViewById(R.id.list); lv.setTextFilterEnabled(true); lv.setItemsCanFocus(true); lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String debString = "position = " + position + " id = " + id; Log.d(TAG, debString); Toast.makeText(getApplicationContext(), debString, Toast.LENGTH_SHORT).show(); Contact selectedContact = dataVector.elementAt(position); Bundle bundle = new Bundle(); bundle.putInt(Constants.POSITION, position); bundle.putString(Constants.NAME, selectedContact.getName()); bundle.putString(Constants.MDN, selectedContact.getMdn()); bundle.putString(Constants.STATUS, selectedContact.getStatus()); String filePath = null; if(contactsImagesProperties != null || !Utils.isNullOrEmpty((String) contactsImagesProperties.get(selectedContact.getMdn()))) { filePath = (String) contactsImagesProperties.get(selectedContact.getMdn()); } bundle.putString(Constants.IMAGE, filePath); Intent intent = new Intent(context, ChildDisplayActivity.class); intent.putExtras(bundle); getParent().startActivityForResult(intent, 10); } 

in myBaseAdapter in getView ()

  bitmap = Bitmap.createScaledBitmap(bitmap, Constants.CHILD_ICON_WIDTH, Constants.CHILD_ICON_HEIGHT, false); imageView.setImageBitmap(bitmap); statusView.setText(Constants.StatusCodeHandler.getStatusDesc(dataVector.elementAt(position).getStatus(), context)); ImageButton imageButton = (ImageButton) view.findViewById(viewIds[3]); imageButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Bundle bundle = new Bundle(); bundle.putInt(Constants.ACTION, Constants.CONTACT_LOCATION_CODE); bundle.putString(Constants.MDN, dataVector.elementAt(position).getMdn()); MainActivity.bundle = bundle; TabActivity mainActivity = (TabActivity) ((UsersListActivity)context).getParent().getParent(); TabHost tabHost = mainActivity.getTabHost(); tabHost.setCurrentTab(Constants.MAP_TAB_INDEX); } }); 

in myListRaw.xml -

 <ImageView android:src="@drawable/icon" android:id="@+id/childListImageView" android:layout_height="wrap_content" android:layout_width="wrap_content" android:focusable="false" android:clickable="false" android:focusableInTouchMode="false" android:layout_alignParentRight="true"/> <TextView android:id="@+id/childListTextView" android:layout_marginRight="5dp" android:layout_width="wrap_content" android:text="TextView" android:layout_height="wrap_content" android:focusable="false" android:clickable="false" android:focusableInTouchMode="false" android:layout_toLeftOf="@+id/childListImageView" android:layout_centerVertical="true"/> <TextView android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="Child Status" android:id="@+id/childListStatus" android:layout_width="wrap_content" android:layout_toLeftOf="@+id/childListTextView" android:layout_marginRight="15dp" android:focusable="false" android:clickable="false" android:focusableInTouchMode="false" android:layout_centerVertical="true"/> <ImageButton android:id="@+id/childListButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Loc" android:layout_marginTop="5dp" android:layout_alignParentLeft="true" android:focusable="false" android:clickable="false" android:focusableInTouchMode="false"/> 

+4
source share
1 answer

If you set the parts of the string as custom (android: focusable = "true") than the OnItemClickListener for the ListView doen is not responding. check this

+7
source

All Articles