Какая разница между выполнениемВ чем разница между inflaters
LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
и inflater = LayoutInflater.from(activity);
Какая разница между выполнениемВ чем разница между inflaters
LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
и inflater = LayoutInflater.from(activity);
В чем разница между inflaters
Разница в том, что во втором примере (через статический метод), вам не нужно бросать Object в LayoutInflater
, потому что он возвращает непосредственно экземпляр LayoutInflater.
Первый случай возвращает обычно объект, который вы должны явно наложить на LayoutInflater
. Но результатом обоих методов является новый экземпляр LayoutInflater
Это зависит от вас, какой метод вы заберете. Обычно я использую метод LayoutInflater.from();
и никогда не испытываю проблем. Мне не нужно бросать из Object, и это сделает трюк.
Как уже упоминалось @CommonsWare, вы также можете позвонить
getLayoutInflater()
Если вы в Activity
классе (это метод деятельности). Но когда вы не в деятельности вы должны иметь Context
переменную, а затем вы можете позвонить (например, из ListAdapter):
((Activity) context).getLayoutInflater();
Но я думаю, когда вы не в деятельности гораздо проще и эффективнее вызвать LayoutInflater.from();
вместо вышеприведенных подходов.
И еще проще просто вызвать 'getLayoutInflater()' в вашей 'Деятельности'. – CommonsWare
его не из активности, а скорее из адаптера listview –
@CommonsWare, но вы не всегда находитесь в действии, но я согласен с вами в правильности, но результат всех упомянутых подходов одинаковый, так что, как я сказал, это зависит только от разработчика, каким образом он выберет. – Sajmon