2013-09-23 5 views

ответ

5

В чем разница между inflaters

Разница в том, что во втором примере (через статический метод), вам не нужно бросать Object в LayoutInflater, потому что он возвращает непосредственно экземпляр LayoutInflater.

Первый случай возвращает обычно объект, который вы должны явно наложить на LayoutInflater. Но результатом обоих методов является новый экземпляр LayoutInflater

Это зависит от вас, какой метод вы заберете. Обычно я использую метод LayoutInflater.from(); и никогда не испытываю проблем. Мне не нужно бросать из Object, и это сделает трюк.

Как уже упоминалось @CommonsWare, вы также можете позвонить

getLayoutInflater() 

Если вы в Activity классе (это метод деятельности). Но когда вы не в деятельности вы должны иметь Context переменную, а затем вы можете позвонить (например, из ListAdapter):

((Activity) context).getLayoutInflater(); 

Но я думаю, когда вы не в деятельности гораздо проще и эффективнее вызвать LayoutInflater.from(); вместо вышеприведенных подходов.

+1

И еще проще просто вызвать 'getLayoutInflater()' в вашей 'Деятельности'. – CommonsWare

+0

его не из активности, а скорее из адаптера listview –

+0

@CommonsWare, но вы не всегда находитесь в действии, но я согласен с вами в правильности, но результат всех упомянутых подходов одинаковый, так что, как я сказал, это зависит только от разработчика, каким образом он выберет. – Sajmon

Смежные вопросы