i mit einem ArraylistAndroid: Konstruktor ContactsAdapter in Klasse ContactsAdapter kann nicht auf bestimmte Typen
dies ist mein Code ein Listview aufzufüllen bin versucht, angewendet werden:
ArrayList<Contact> results = mapper.readValue(response.toString(),
new TypeReference<ArrayList<Contact>>() { });//results are coming OK
ContactsAdapter adapter = new ContactsAdapter(this, R.layout.list_view_items, results);//error is here
und dies ist meine individuelle Adapterklasse mit ihren jeweiligen Konstruktor:
public class ContactsAdapter extends ArrayAdapter<Contact> {
ArrayList<Contact> contactList = new ArrayList<>();
public ContactsAdapter(Context context, int textViewResourceId, ArrayList<Contact> objects) {
super(context, textViewResourceId, objects);
contactList = objects;
}
@Override
public int getCount() {
return super.getCount();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.list_view_items, null);
TextView contactTextView = (TextView) v.findViewById(R.id.contactTextView);
TextView phoneTextView = (TextView) v.findViewById(R.id.phoneTextView);
ImageView imageView = (ImageView) v.findViewById(R.id.smallImageView);
contactTextView.setText(contactList.get(position).getName());
phoneTextView.setText(contactList.get(position).getPhone().toString());
//imageView.setImageResource(animalList.get(position).getAnimalImage());
return v;
}
}
Fehler:
Error:(58, 51) error: constructor ContactsAdapter in class ContactsAdapter cannot be applied to given types; required: Context,int,ArrayList found: >,int,ArrayList reason: actual argument > cannot be converted to Context by method invocation conversion
Meine Daten werden von einem jSON abgerufen und als ArrayList deklariert. Ich habe einige Dinge ausprobiert, wie den Konstruktor zu ändern, aber ich bekomme es nicht zum Laufen und ich stecke fest.
Vielen Dank im Voraus!
Ihr 'Adapter' Konstruktoraufruf befindet sich scheinbar in einer anonymen Klasse, also bezieht sich' this' auf diese anonyme Klasse, nicht der 'Context', den Sie als erstes Argument benötigen. Wenn dieser Code in einer 'Activity' steht, muss der Name 'Activity' vorangestellt werden. z. B. "MyActivity.this". –
Kumpel, du machst meinen Tag !!! Dein Kommentar sollte die beste Antwort sein! – emboole