Следует ли использовать родительский контекст при извлечении LayoutInflater из метода GetView ArrayAdatper? - PullRequest
0 голосов
/ 12 марта 2019

Я пытаюсь сократить избыточные вызовы до LayoutInflater.FromContext из ArrayAdapter метода *1003*, поэтому я создал приватный LayoutInflater член _li и инициализировал его в конструкторе.

Однако было бы безопаснее использовать контекст представления parent из GetView?

var li = LayoutInflater.FromContext(parent.Context);
view = li.Inflate(_layoutId, parent, false);

ArrayAdapter

public class StuffAdapter : ArrayAdapter<Stuff>
{
    private readonly int _layoutId;

    //private readonly Context _context;
    private readonly LayoutInflater _li;

    public StuffAdapter(Context context, int layoutId, List<Stuff> stuff) 
        : base(context, layoutId, stuff)
    {
        _layoutId = layoutId;

        //_context = context;
        _li = LayoutInflater.FromContext(context);
    }

    public override View GetView(int position, View view, ViewGroup parent)
    {
        if (view == null)
        {
            //var li = LayoutInflater.FromContext(_context);
            view = _li.Inflate(_layoutId, parent, false);
        }

        // ...

        return view;
    }
}
...