2013-05-03 2 views
0

У меня есть список, содержащий элементы, имеющие listviews. Я пытаюсь заполнить ListViews элемента внутри GetView таможни адаптера, который заполнит «родительский» ListView:Могу ли я заполнить список из getView пользовательского адаптера?

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View v = convertView; 
    System.out.println("session adapter: here1"); 
    if (v == null) { 
     LayoutInflater inflater = (LayoutInflater) act.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     v = inflater.inflate(R.layout.single_session, null); 


    } 

    SessionObject i = sessions.get(position); 

    if (i != null) { 
     tvTrackName = (TextView) v.findViewById(R.id.textViewTrackName); 
     tvTrackName.setText(i.trackName); 
     tvSessionName = (TextView) v.findViewById(R.id.textViewSessionName); 
     tvSessionName.setText(i.sessionName); 

     tvSessionModerator = (TextView) v.findViewById(R.id.textViewModeratorName); 
     tvSessionModerator.setText("Moderator: "+i.sessionModerator); 

     listAbstracts = i.abstractList; 

     lvAbstracts = (ListView) v.findViewById(R.id.listViewAbstracts); 

     AbstractObjectAdapter adapter = new AbstractObjectAdapter(act, R.id.listViewAbstracts, listAbstracts); 
     lvAbstracts.setAdapter(adapter); 
     } 
    return v; 

} 

«внутренность» адаптер, кажется, называть только свою функцию GetView один раз, независимо от количества пунктов в его списке. Если есть 2 элемента, только первое попадает в список. Это неправильный способ сделать это? Я что-то упускаю?

Любая помощь приветствуется. Благодарю.

+0

listview.setAdapter (yourcustomadapter) ;. – Raghunandan

ответ

0

Просто создайте свой элемент динамически, добавив текст в линейный режим. Вам просто нужно быть осторожным при обращении с конвертированием, изначально это будет проще всего всегда вступать в него, но вы получите немного производительности.

Оптимизируйте позже.

+0

Не совсем. У меня есть родительский список, который должен быть прокручиваемым, и он содержит элементы, которые могут содержать 1 или более дочерних элементов. Можно ли динамически добавлять текстовые представления? –

+0

Конечно, вы можете добавлять текстовые изображения динамически в linearlayout. Просто убедитесь, что вы правильно обрабатываете convertview, проще всего было бы просто игнорировать представление конвертации и каждый раз создавать представление из нового. Вы будете использовать прокрутку производительности, но сначала попробуйте, а затем попытайтесь спасти конверсию в более поздней итерации. –

+0

Это имеет смысл, что я пытаюсь. Благодарю. –

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