Home » Android » java – Click is not working on the Listitem Listview android

java – Click is not working on the Listitem Listview android

Posted by: admin April 23, 2020 Leave a comment

Questions:

I implemented the android listview with the ListActivity. Here I have the problem that when i click on the list item no action is performed when the flash color is also not coming that is the orange color. So do you have any idea about this kindly answer to my question.

@Override
protected void onListItemClick(ListView l, View v, int position, long id) 
{
    super.onListItemClick(l, v, position, id);
    Toast.makeText(getApplicationContext(), "msg msg", Toast.LENGTH_SHORT)
            .show();

}

I put this code also into the Main ListActivity.

How to&Answers:

The first thing what you have to note here is, whenever there are Clickable elements like Buttons or ImageButtons present in your ListView element, they take the control of click events. And so your ListView won’t get the chance to accept the click event.

What you simply have to do is, set the focusable attribute to false for the Button or ImageButton you have in your ListView. But still they will work without any problem and also your ListView’s onListItemClick will also work.

Try this,

        <Button  android:id="@+id/textsize_increaser"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/back_button"
        android:focusable="false"
        android:text=" A + "/>

Here I have added this android:focusable="false" and it works fine. try it.

Answer:

Have you set the choice mode of ListView to SINGLE :

     listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

And if you have any clickable imageview or textview or button in the list item, then make them not focusable (in your Adapter class):

        yourButton.setFocusable(false);
        yourButton.setFocusableInTouchMode(false);

Answer:

Are you using custom Adapter? and inflating layout with button or any view that eats away the list list view focus as child, then it won’t work obviously. make sure to set

    android:focusable="false"

to such view in xml file. hope this works for you.

Answer:

Set this in your listactivity java file

listview1.setFocusable(false);

Answer:

Eclipse suggested me to add textIsSelectable="true" to my TextViews in the layout xml which was used for list view.

Well, if you want to click the items in the list then you should not add those tags.

Answer:

make sure that you are

  1. Not using Scroll View with List View
  2. Not using Scroll View in your row item layout for List View

If Scroll View is present at any of above place remove it

Answer:

refer to this post for a solution:

Click is not working on the Listitem Listview android

View v = parent.getChildAt(position);
parent.requestChildFocus(v,view);
v.setBackground(res.getDrawable(R.drawable."Some drawable for clicked row"));

int count = parent.getChildCount();
for(int i=0; i<count; i++)
{
   if(i!=position)
   {
     v = parent.getChildAt(i);
     v.setBackground(res.getDrawable(R.drawable."some drawable for not clicked row));
   }
}

Answer:

listview.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v, int pos,
                    long id) {
                Toast.makeText(v.getContext(), exm.get(pos).getDefinition(),
                        Toast.LENGTH_SHORT).show();


            }
        });

Answer:

Actually there is a parameter meant for that to prevent children views from getting focus, just add the following in the parent layout:

android:descendantFocusability="blocksDescendants"

As the documentation explains:

The ViewGroup will block its descendants from receiving focus.

Answer:

listItemButton.setFocusable(false);
listItemButton.setFocusableInTouchMode(false);

Set the above in your adapter. It’s not working in XML