ListFragment inside ViewPager onItemSelected не запускается

У меня listFragmentвнутри а ViewPager. Проблема в том, что OnItemSelectedсобытие list не запускается. I can hear the feedback sound of the item being clicked but the event is not executed. Я уже пытался установитьandroid:descendantFocusability="blocksDescendants", но это не помогает.

Раньше у меня была логика RecyclerView (сделано с помощью шаблона Android Studio), и она работала, но я хотел изменить, потому что это выглядело запутанным.

У меня это внутри activity_main.xml

<it.grsrl.rdd.redeye.Tools.CustomViewPager
    android_id="@+id/container"
    android_layout_width="match_parent"
    android_layout_height="match_parent"
    app_layout_behavior="@string/appbar_scrolling_view_behavior" />

Это fragment_list.xml

<ListView 
    android_id="@+id/listview_asset_list"
    android_layout_width="match_parent"
    android_layout_height="match_parent"/>

И это кратко item_list.xml

<FrameLayout 
    
    android_layout_width="match_parent"
    android_layout_height="wrap_content"
    android_padding="10dp">

    <RelativeLayout>
        <ImageView />
        <TextView/>
        <TextView />
        <TextView />
    </RelativeLayout>

</FrameLayout>

Я сделал тест:
в моем пользовательском адаптере я зарегистрировал OnClickListener внутри метода getView,и представление получает щелчок. Итак, кто ест мое событие click?

Есть помощь?

1 ответ

  1. Я пропустил, что ListFragment уже предоставляет переопределяемый onListItemClickметод. Я настраивал слушателя onViewCreated()таким образом:

    getListView().setOnItemSelectedListener()
    

    Но, в конце концов, это будет терпеть неудачу молча.

    Итак, мне просто нужно было переопределить onListItemClickв моем ListFragment

    @Override
        public void onListItemClick(ListView l, View v, int position, long id) {
            super.onListItemClick(l, v, position, id);
                Item itm = mListener.onAssetClick(l.getItemAtPosition)
            }
        }