Невозможно использовать LayoutInflater в пользовательском адаптере

Я собираюсь написать собственный адаптер, чтобы заполнить представление списка тремя текстовыми представлениями в строке. Я нашел немало примеров кода для этого, но тот, который казался лучшим, был по адресу: http://www.anddev.org/custom_widget_adapters-t1796.html

После нескольких небольших настроек, чтобы исправить некоторые проблемы компилятора с последним Android SDK, я запустил его, только чтобы получить исключение:

ERROR / AndroidRuntime (281): java.lang.UnsupportedOperationException: addView (View, LayoutParams) не поддерживается в AdapterView

. Поэтому я провел много исследований и нашел множество возможных причин и исправлений для этого. Ничто из этого не изменило ничего. Мой код адаптера в настоящее время:

public class WeatherAdapter extends BaseAdapter {

    private Context context;
    private List weatherList;

    public WeatherAdapter(Context context, int rowResID,
                        List weatherList ) { 
        this.context = context;
        this.weatherList = weatherList;
    }

    public int getCount() {                        
        return weatherList.size();
    }

    public Object getItem(int position) {     
        return weatherList.get(position);
    }

    public long getItemId(int position) {  
        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) { 
        Weather weather = weatherList.get(position);

        //LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LayoutInflater inflater = LayoutInflater.from(context);

        View v = inflater.inflate(R.layout.weather_row, null, true);
        TextView cityControl = (TextView)v.findViewById( R.id.city );
        TextView temperatureControl = (TextView)v.findViewById( R.id.temperature );
        ImageView skyControl = (ImageView)v.findViewById( R.id.sky );
        return v;
    }

}

Итак, я попробовал закомментированный способ получения инфлятора, и в настоящее время без комментариев. Я попытался передать «parent», чтобы завышать, а также null, и передать «true», «false» и полностью опустить последний параметр. Ни один из них не сработал, и все примеры, которые я нашел до сих пор, были с 2008 года, которые, как мне кажется, немного устарели.

Если бы кто-нибудь мог помочь с этим, то я бы с удовольствием решил эту проблему.

8
задан ROMANIA_engineer 28 June 2017 в 21:19
поделиться