ExpandableListView Mono для Android, ClickEvents - PullRequest
0 голосов
/ 12 января 2012

Как я могу реализовать события щелчка в расширяемом представлении списка на monodroid, я пытаюсь сделать так, как этот код, но, кажется, не работает ... Кроме того, это не метод 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);
            }
        });

Ответы [ 2 ]

2 голосов
/ 13 января 2012

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
  • AdapterView.ItemClick
  • AdapterView.ItemSelected
0 голосов
/ 29 января 2018

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

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());

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

...