【问题标题】:C# How do you add a ListView ClickListenerC#如何添加ListView ClickListener
【发布时间】:2018-01-12 18:42:22
【问题描述】:

我想给 ListView 添加一个 ListView ClickListener,但是不知道怎么做? 这是我创建适配器的代码的结尾:

//Get all the values from Name, and convert it to an Array
        string[] NamesArray = coins.Select(c => c.Name).ToArray();

        //Fill the DataSource of the ListView with the Array of Names
        ArrayAdapter<string> adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, NamesArray);

        //Bind DataSource to ListView
        ListviewCoinNames.Adapter = adapter;

【问题讨论】:

    标签: c# android visual-studio listview xamarin


    【解决方案1】:

    添加一个 ItemClick 处理程序

    ListviewCoinNames.ItemClick += ListviewCoinNames_ItemClick;
    

    然后定义它

        void ListviewCoinNames_ItemClick(Object sender, AdapterView.ItemClickEventArgs e)
        {
            Console.WriteLine(mItems[e.Position]);
        }
    

    【讨论】:

    • 在“protected override void OnCreate(Bundle bundle)”之外定义它?
    • 是的,但在您的示例中,我的 mItems 是一个数组,由列表转换而来。
    • 那么,我需要将 mItems 更改为 Array 还是 List 名称?我的适配器被数组填充了!
    • 没关系。 e.Position 为您提供被点击元素的索引。使用该索引来引用您的数据源中的项目
    【解决方案2】:

    你可以像@Jason所说的那样做,或者在[Design]中选择ListView,然后在Properties-->Events中双击你想要的事件,这会自动生成方法

    【讨论】:

      猜你喜欢
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-27
      • 2020-06-02
      • 1970-01-01
      • 2010-10-18
      相关资源
      最近更新 更多