2016-03-26 6 views
0

Попытка получить представление списка, загруженное данными внутри фрагмента. Насколько я знаю, код должен работать, но это не так. Als пытались использовать ListFragment вместо Fragment и BaseAdapter вместо ArrayAdapter, но оба не будут работать.Фрагмент Android, содержащий ListView

Фрагмент

public class ContactsFragment extends Fragment { 
    private DashboardActivity dashboard; 
    private List<User> contacts; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_contacts, container, false); 
    ... 
    ... 
    ListView contactsListView = (ListView)rootView.findViewById(R.id.contacts_list_view); 

    ContactsListAdapter contactsListAdapter = new ContactsListAdapter(getActivity(), contacts); 

    contactsListView.setAdapter(contactsListAdapter); 

    return rootView; 
} 

адаптер

public class ContactsListAdapter extends ArrayAdapter<User> { 

    private Context context; 
    private List<User> contacts; 

    public ContactsListAdapter(Context context, List<User> contacts) { 
     super(context, R.layout.contact_list_item); 

     this.context = context; 
     this.contacts = contacts; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup viewGroup) { 
    User contact = contacts.get(position); 

    View contactView = convertView; 

    if (contactView == null) { 
     LayoutInflater inflater = (LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE); 
     contactView = inflater.inflate(R.layout.contact_list_item, null); 
    } 

    TextView contactEmail = (TextView)contactView.findViewById(R.id.contact_item_email); 
    contactEmail.setText(contact.getEmail()); 

    TextView contactPhone = (TextView)contactView.findViewById(R.id.contact_item_phone); 
    contactPhone.setText(contact.getPhone()); 

    return contactView; 
} 

Я пропустил Somthing? Возможно, используя другие базовые классы? Если мой вопрос неясен, о недостаточной информации, чтобы помочь здесь, пожалуйста, дайте мне знать!

Заранее спасибо

ответ

1

Попробуйте это:

public ContactsListAdapter(Context context, List<User> contacts) { 
    super(context, R.layout.contact_list_item,contacts); //change here 
    this.context = context; 
    this.contacts = contacts; 
} 
+0

Оу человек, я так глуп. Просто не удалось найти проблему. Большое спасибо, что помогли мне здесь !!!! –

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