2013-09-17 5 views
0

вот что у меня есть.Android-дисплей простого адаптера в виде списка

public class Contact { 

    private String firstName; 
    private String lastName; 
    private String mobileNumber; 
    private String homeNumber; 
    private String workNumber; 
    private String homeAddress; 
    private String emailAddress; 
    private String workAddress; 
    private String notes; 
    private int contactNumber; 

    //A constructor and a bunch of getters and setters that are unimportant 

} 

У меня это заявление: public static ArrayList<Contact> contactList = new ArrayList<Contact>(); в классе с именем NewContact.

Это мой код адаптера в моем основном классе java для Android.

ArrayAdapter<Contact> adapter = new ArrayAdapter<Contact>(this, 
       R.layout.home_screen_contacts_view, NewContact.contactList); 

Проблема заключается в следующем, я хочу, чтобы посмотреть список просто показать имя и фамилию контакта, но на данный момент он показывает имя пакета и прочее, потому что это контактный адаптер, а не струнный адаптер.

Это то, на что похоже, когда я добавляю контакт.

enter image description here

Мой вопрос, как я могу использовать методы получения контакта класса, чтобы отобразить только имя и фамилию, когда я делаю контакт?

Спасибо за ваше время.

EDIT: Я не вызывал сеттеры, но переменные класса задаются в конструкторе.

NewContact.contactList.add(new Contact(firstName.getText().toString(), 
         lastName.getText().toString(),mobileNumber.getText().toString(), 
         homeNumber.getText().toString(),workNumber.getText().toString(), 
         homeAddress.getText().toString(),emailAddress.getText().toString(), 
         workAddress.getText().toString(),contactNotes.getText().toString())); 
+0

опубликуйте функцию View getView() – Developer

ответ

2

Override toString() метод в Contact классе так, как это будет возвращать concatination из firstName и lastName.

+0

Это печатает нуль, но я думаю, что это приближается к ответу. Его просто говорят null null. Im, пишущий 'return firstname +" "+ lastname;' – Ogen

+0

@Clay хорошо, что означает, что объекты 'firstName' и' secondName' не инициализируются или не инициализируются символом 'null'. Просмотрите способ создания объекта. –

+0

Я не знаю, как я должен их менять. Это просто переменные класса, принадлежащие к классу контактов, так как в каждом контакте есть имя, номер, адрес и т. Д. – Ogen

0

Вы можете создать свой собственный адаптер, расширив BaseAdapter. Затем в вашем пользовательском адаптере переопределите метод getView(). В этом методе вы можете получить доступ к различным полям класса «Контакты» и соответствующим образом установить. Пожалуйста, скачайте Google для пользовательского адаптера ListView

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