OnItemCLickLIstener doesn't work on ListView

前端 未结 3 1026
余生分开走
余生分开走 2021-01-26 02:44

I have an activity with a ListView. ListView with custom views. I add OnItemClickLIstener to the ListView. and when i click on item, in result i see nothing. Activity with ListV

相关标签:
3条回答
  • 2021-01-26 03:14

    I guess you are not getting the item the right way. Try this:

    int position = (int) adapterView.getSelectedItemId();
    Log.i("Position:", Integer.toString(position));
    

    Edit

    Try this piece of code.

    ListView lv = (ListView)findViewById(R.id.chat_list);
    lv.setOnItemClickListener(new OnItemClickListener(){
           @Override
           public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
    
                 int position = (int) parent.getSelectedItemId();
                 Log.i("Position:", Integer.toString(position));
           }
    });
    
    0 讨论(0)
  • 2021-01-26 03:27

    By setting focusable objects in your row layout, you are preventing the ListView from getting the touch event.

    This FrameLayout is consuming the touch event:

    <FrameLayout 
        android:id="@+id/attach_container" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:focusableInTouchMode="true" 
        android:focusable="false"/>
    

    Remove the focusable settings so it looks like this:

    <FrameLayout 
        android:id="@+id/attach_container" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" />
    

    (You really should organize your XML so that is is readable, in Eclipse use Ctrl+Shift+F.)

    0 讨论(0)
  • 2021-01-26 03:27

    Make Focus for all components as follows :

       android:focusable="false"
    
       android:focusableInTouchMode="false"
    
    0 讨论(0)
提交回复
热议问题