Nicht verwenden LayoutInflater in benutzerdefinierten adapter

Ich bin auf der Suche in dem schreiben eines benutzerdefinierten adapter zum füllen eines listview mit 3 textviews pro Zeile. Die ich gefunden habe schon ein bisschen Beispiel-code, um dies zu tun, aber der eine schien der beste war: http://www.anddev.org/custom_widget_adapters-t1796.html

Nach ein paar kleinere änderungen beheben einige compiler Probleme mit der neuesten Android-SDK, ich habe es ausgeführt, nur um die Ausnahme:

ERROR/AndroidRuntime(281): java.lang.UnsupportedOperationException: addView(View, LayoutParams) wird nicht unterstützt, in AdapterView

So, ich habe eine Menge Forschung und fand viele mögliche Ursachen und fixes für diese. Von denen keine eine Sache verändert. Mein adapter code ist aktuell:

public class WeatherAdapter extends BaseAdapter {

    private Context context;
    private List<Weather> weatherList;

    public WeatherAdapter(Context context, int rowResID,
                        List<Weather> 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;
    }

}

So, ich habe versucht die auskommentiert Weg, den inflater, und die derzeit unkommentiert aus. Ich habe versucht vorbei "Eltern" zum aufblasen als auch null, und der übergabe von "true", "false" weglassen und komplett der Letzte parameter. Keiner von Ihnen gearbeitet haben, und alle Beispiele die ich bisher gefunden habe waren von 2008, in denen ich das Gefühl sind ein bisschen veraltet.

Wenn jemand helfen könnte mit diesem dann würde ich gerne das Problem zu beheben.

InformationsquelleAutor Teknogrebo | 2010-11-29
Schreibe einen Kommentar