ExpandableListView Mono для Android, ClickEvents

Как я могу реализовать события щелчка в расширяемом представлении списка на монодроиде, я пытаюсь сделать этот код, но, похоже, он не работает... Кроме того, нет метода IOGroupClickListener.

listview.SetOnChildClickListener(new ExpandableListView.IOnChildClickListener()
        {
            public override bool OnChildClick (ExpandableListView parent, View v, int groupPosition, int childPosition, long id)
            {
                return base.OnChildClick (parent, v, groupPosition, childPosition, id);
            }
        });

person arkmetal    schedule 12.01.2012    source источник


Ответы (2)


C# не поддерживает анонимные подклассы, такие как Java, вам нужно будет создать правильный класс, реализующий IOnChildClickListener:

public class MyListener : Java.Lang.Object, ExpandableListView.IOnChildClickListener
{
    public override bool OnChildClick (ExpandableListView parent, View v, int groupPosition, int childPosition, long id)
    {
        return base.OnChildClick (parent, v, groupPosition, childPosition, id);
    }
}

Или, в зависимости от того, что вы пытаетесь сделать, вам может быть лучше использовать одно из событий, например:

  • ExpandableListView.GroupCollapse
  • ExpandableListView.GroupExpand
  • Адаптервиев.ItemClick
  • Адаптервиев.ItemSelected
person jpobst    schedule 12.01.2012

Просто добавив отсутствующий код, который, как мне кажется, должен быть в выбранном ответе.

public class MyListener : Java.Lang.Object, ExpandableListView.IOnChildClickListener
{
    public override bool OnChildClick (ExpandableListView parent, View v, int groupPosition, int childPosition, long id)
    {
        return base.OnChildClick (parent, v, groupPosition, childPosition, id);
    }
}

В OnCreateView добавьте указанный слушатель в представление списка, используя приведенный ниже код.

listview.SetOnChildClickListener(new MyListener());

Это добавляет созданный выше класс в качестве слушателя и получает обратные вызовы.

person soan saini    schedule 29.01.2018