即使列表计数大于0,也不会调用BaseAdapter.GetView方法

时间:2017-08-10 18:26:01

标签: c# android baseadapter android-gridview

public override查看GetView(int position,View convertView,ViewGroup parent)

即使计数大于零,也不会调用此方法。

我想知道GridView和BaseAdapter的确切行为。

我尽可能多地尝试但是没有触发GetView方法。

代码段:

    internal class SymbolAdapter : BaseAdapter
    {

        private object[] m_items;
        internal SymbolAdapter(Context context, Object[] items) : base()
        {
            this.context = context;
            m_items = items;
        }

        public override int Count
        {
            get
            {
                return m_items.Count;
            }
        }

        public override Java.Lang.Object GetItem(int position)
        {
            return null;
        }

        public override long GetItemId(int position)
        {
            return 0;
        }

        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            View view = null;
            object item = m_items[position];
            if (convertView == null)
            {
                                    ImageView imageView = new ImageView(context);
                imageView.LayoutParameters = new AbsListView.LayoutParams(85, 85);
                imageView.SetScaleType(ImageView.ScaleType.CenterCrop);
                imageView.SetPadding(8, 8, 8, 8);
                view = imageView;
            }
            else
                view = convertView;
            return view;
        }
    }

请帮帮我。

1 个答案:

答案 0 :(得分:0)

当我尝试在为BaseAdapter创建实例之前将视图添加到GridView的Adapter属性时,问题已解决。

谢谢,