【问题标题】:Listview Click Item Click Listener doesnt trigger in xamarin.androidListview 单击项目单击侦听器不会在 xamarin.android 中触发
【发布时间】:2016-09-09 23:54:16
【问题描述】:

我正在 Xamarin android 中制作一个应用程序,其中我使用 ArrayAdapter 在 ListView 中有项目。

当点击 ListView 的项目时,触发器没有响应它。 我已经通过此站点查看了其他解决方案参考,但对我不起作用。

我的代码如下。

Fragment2.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;

namespace NavigationDrawerTest
{
    public class Fragment2 : Android.Support.V4.App.Fragment 
    {
        private List<string> mItems;
        private ListView mListView;

        public override void OnCreate (Bundle savedInstanceState)
        {
            base.OnCreate (savedInstanceState);
            //SetContentView (Resource.Layout.Fragment2_Layout);

        }

        public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            View view = inflater.Inflate(Resource.Layout.Fragment2_Layout, container, false);
            mListView = view.FindViewById<ListView>(Resource.Id.myListView);

            mItems = new List<string> ();
            mItems.Add ("One");
            mItems.Add ("Two");
            mItems.Add ("Three");
            mItems.Add ("Four");
            mItems.Add ("Five");

            ArrayAdapter <string> adapter = new ArrayAdapter<string> (Context, Android.Resource.Layout.SimpleListItem1,objects: mItems.ToArray());
            mListView.Adapter = adapter;
            mListView.ItemClick += mListView_ItemClick;


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

    }
}

ListView ItemClickListener 没有触发的地方如下图。

ListView Item Click Listener

【问题讨论】:

标签: c# listview xamarin.android


【解决方案1】:

我通过对 Fragment2.cs 的代码稍作改动得到了答案

代码如下。

void mListView_ItemClick(Object Sender, AdapterView.ItemClickEventArgs e)
{
            var item = mItems [e.Position];
            Toast.MakeText(Context, item + " Clicked!", ToastLength.Short).Show();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-14
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 2011-03-24
    • 1970-01-01
    相关资源
    最近更新 更多