Пример IconicAdapter в «Руководстве занятого программиста по разработке Android»

1

Я имею в виду The Busy Coder Guide to Android Development. Это очень хорошо написанная книга с большим количеством полезной техники. Я еще не купил его, я только что закончил образец главы.

На стр. 103

class IconicAdapter extends ArrayAdapter<String> {
    IconicAdapter() {
        super(DynamicDemo.this, R.layout.row, R.id.label, items);
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View row=super.getView(position, convertView, parent);
        ImageView icon=(ImageView)row.findViewById(R.id.icon);

Однако на стр. 105

class IconicAdapter extends ArrayAdapter<String> {
    IconicAdapter() {
        super(DynamicDemo.this, R.layout.row, items);
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater=getLayoutInflater();
        View row=inflater.inflate(R.layout.row, parent, false);
        TextView label=(TextView)row.findViewById(R.id.label);

Мне было интересно, зачем нам использовать getLayoutInflater в примере на стр. 105? Разве мы не можем просто взглянуть на

View row=super.getView(position, convertView, parent);

Образец главы можно найти на http://commonsware.com/Android/excerpt.pdf

Теги:

1 ответ

2
Лучший ответ

Похоже, что в первом случае суперкласс уже завысил представление для вас, и вы можете сделать из него super.getView().

А во втором кажется, что вы справляетесь с раздуванием самостоятельно и, следовательно, нуждаетесь в показанном коде.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню