onListItemClick не вызывается в ListFragment - PullRequest
1 голос
/ 19 февраля 2012

У меня есть ListFragment, который содержит список, однако onListItemClick никогда не вызывается.Я не использую getListView (), который, как я подозреваю, является проблемой.Я вытягиваю свое представление списка из xml следующим образом:

    list = (ListView) getActivity().findViewById(android.R.id.list);

И затем настраиваю адаптер следующим образом:

    list.setAdapter(new CustomAdapter(getActivity(), R.layout.title, mCursor, new String[]{"title"},  new int[]{R.id.my_title}) );

Поскольку мне нужно установить адаптер в списке,также не используйте setListAdapter ().Разве нельзя извлечь список из xml и использовать onListItemClick?Я хотел бы сохранить мой список в xml, чтобы мне не приходилось устанавливать все свойства программно.

Если это невозможно, как я могу выбрать элементы в моем списке?

Спасибо

1 Ответ

0 голосов
/ 19 февраля 2012

OK. Попробуйте этот ответ. Сохраните файл макета как есть. Переопределите следующий метод в вашем классе FragmentList:

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState)
{
    return inflater.inflate(R.layout.your_fragment_layout, container, false);
}

Убедитесь, что ваш макет определяет ListView с правильным идентификатором, следующим образом:

 <ListView android:id="@id/android:list"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:layout_weight="1"
           android:drawSelectorOnTop="false"/>

Затем просто вызовите FragmentList :: setListAdapter:

setListAdapter(new CustomAdapter(getActivity(), R.layout.title, mCursor, new String[]{"title"},  new int[]{R.id.my_title}) );

Должно работать, тики-бу.

...