I want to display a Button
inside the ListView
.
The goal should be to click on the ListView
line or on the button.
Click on the line it shows more info. Click on the button it shows at the bottom more buttons.
The same as the GMAIL app.
On the right there is a checkbox and after clicking on the checkbox at the bottom, the button bar appears.
My problem is after inserting the button into the ListView
, the button is not clickable.
If I add the to the LinearLayout
from the button llButton.setClickable()
it works. But, only the button. The ListView
itself doesn't react on clicks anymore!
I have tried this example.
The same issue as above...
To have the event be triggered when either the button or the list item is clicked, you can do the following:
You handle only onItemClick:
In the adapter you modify the button to not be clickable/focusable (or do this in the xml file instead):
Just to make this clear – and no one seems to have said something this simple – whilst one is not allowed to have a focusable button work in conjunction with the list view, there is a much simpler solution for this.
The accepted answer is a given - you should always do that when setting the click listener for list items, so that is silly that OP didn't know that.
If you are using an XML layout as your list item, simply set the button to have the following attribute and it will cause the list item to be clickable as well:
android:focusable="false"
Add the line below to your list item XML.
Then your list item will be like this:
In my case i had to add this attribute in the listView :
And in the adapter just add on click listener in the button view.
Its important to set final the variables:
If you are using a custom Adapter the Button click inside a ListView will not work so you should try to use the following code to check for
OnItemClickListener
.