2015-03-21 2 views
0

Я получаю себя в путанице с ArrayAdapter, который я пытаюсь собрать. У меня есть конструктор Person, который используется для объединения людей в список. Затем я собираю ArrayList типа Person для создания читаемого списка.Невозможно разрешить конструктор при использовании ArrayAdapter

Затем я собрал ArrayAdapter, чтобы этот список можно было увидеть в ListView, но я постоянно получаю «Не могу разрешить конструктор» с моим кодом.

Я пробовал бесчисленные возможные решения на этом сайте, включая попытки использовать getActivity() или это вместо PeopleActivity.this, но я просто не могу скомпилировать свой код. Я также пробовал ссылаться на свой класс конструктора в ArrayAdapter, но это просто дает мне ошибку, что он не является закрывающим классом.

Person.class (конструктор)

import android.text.Editable; 

public class Person { 

public Person Person; 

private Editable personName; 

public Person(Editable a) { 
    personName = a; 
} 

public void setName(Editable personName){ 
    this.personName = personName; 
} 

public Editable getName() { 
    return personName; 
} 
} 

PeopleActivity - populateListView

ArrayList<Person> peoplelistv = new ArrayList<Person>(); 

...

private void populateListView() { 
      ListView list = (ListView) findViewById(R.id.peopleListView); 
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(PeopleActivity.this, android.R.layout.simple_list_item_1, peoplelistv); 

      list.setAdapter(adapter); 
     } 

Любые идеи люди?

Благодаря

ответ

2

Вы объявляя ArrayAdapter, как ArrayAdapter<String>. Однако третий параметр, который вы передаете конструктору, не является ни String[], ни List<String>. Если вы пытаетесь обернуть ArrayList<Person> в ArrayAdapter, это должно быть ArrayAdapter<Person>, а не ArrayAdapter<String>.

+1

Большое вам спасибо, как я пропустил то, что я не знаю, спасатель жизни! –

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