Я пытаюсь разработать вид каналов в Facebook с использованием списка и таблицы. В каждой строке есть запись фида с комментариями в виде списка. Я храню объекты данных фида в списке массивов.
class FeedPost{
String username;
String imageUrl;
String feedpostText;
ArrayList<Comment> comments;}
На мой взгляд, я делаю так
public View getView(final int position, View convertView, ViewGroup parent) {
feedItem = FeedItems.get(position);
convertView = layoutInflater.inflate(R.layout.feed_main, null);
TableLayout mainFeedLayout = (TableLayout) convertView
.findViewById(R.id.blogFeedTableLayout);
TextView displayName = (TextView) convertView
.findViewById(R.id.feed_username);
TextView description = (TextView) convertView
.findViewById(R.id.comment_text);
// Set the text to the texview
.
.
.
// Adding comments to the feed
for (int i = 0; i < feedItem.feedComments.size(); i++) {
mainFeedLayout .addView(addComment(
convertView, feedItem.feedComments.get(i)));
}
}
Опять же в функциях addcomments я раздуваю макет комментария, чтобы его можно было добавить к макету таблицы
Таким образом, чтобы один вид канала отображался в виде списка, я проверяю каждый элемент канала на наличие комментариев и отображаю их в канале. Это действительно больно и медленно.
Я пытался использовать статические держатели для макетов вместо того, чтобы каждый раз накачивать их. Опять же, это не сработало. Если есть несколько разных представлений, то я бы попробовал "SackOfViewsAdapter" из comonsguy. Но на самом деле это не разные взгляды.
Я думаю, что Facebook использует веб-просмотр и отображает HTML для отображения каналов пользователя. Каков наилучший способ сделать то же самое, используя родной макет Android и код. Можете ли вы помочь мне предложить лучший метод для отображения такого рода сложных данных?