【问题标题】:ExpandableListView Mono for Android, ClickEvents适用于 Android 的 ExpandableListView Mono,ClickEvents
【发布时间】:2012-01-12 16:52:06
【问题描述】:

如何在 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);
            }
        });

【问题讨论】:

    标签: c# mono xamarin.android expandablelistview


    【解决方案1】:

    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

    【讨论】:

      【解决方案2】:

      只需添加缺失的代码,我觉得它应该在选定的答案中

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

      这会将上面创建的类添加为侦听器并接收回调。

      【讨论】:

        猜你喜欢
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-13
        • 1970-01-01
        • 2012-02-10
        • 1970-01-01
        相关资源
        最近更新 更多