Я видел несколько сообщений об этом, но не нашел ответов на вопрос, который я испытываю. Я динамически заполняю LinearLayout в виджетах рабочего стола с представлениями RelativeLayout, но отображается только первое дочернее представление. Отладка показывает, что несколько видов создаются и добавляются, но они не отображаются. Вот код:Android RemoteViews addView только первый просмотр, показывающий
RemoteViews views = new RemoteViews(getPackageName(), R.layout.widget);
Cursor statuses_styles = getContentResolver().query(Uri.withAppendedPath(Statuses_styles.CONTENT_URI, widget), new String[]{...}, null, null, Statuses_styles.CREATED + " DESC LIMIT " + page + ",-1");
Log.d(TAG,"statuses count:"+statuses_styles.getCount());
if (statuses_styles.moveToFirst()) {
int count_status = 0;
views.removeAllViews(R.id.messages);
while (!statuses_styles.isAfterLast() && (count_status < 16)) {
RemoteViews itemView;
itemView = new RemoteViews(getPackageName(), R.layout.widget_item);
itemView.setTextViewText(R.id.message, statuses_styles.getString(1));
itemView.setFloat(R.id.message, "setTextSize", friend_textsize);
Log.d(TAG,"add view:"+statuses_styles.getString(1));
views.addView(R.id.messages, itemView);
count_status++;
statuses_styles.moveToNext();
}
}
statuses_styles.close();
mgr.updateAppWidget(appWidgetId, views);
Виджет - это просто LinearLayout с идентификатором «сообщений». Он установлен на fill_parent для ширины и высоты и имеет ориентацию, установленную на вертикальную.
Элемент виджета - это относительный макет, содержащий некоторые виды текста и изображения.
Виджет 4x4.
Любые идеи, почему ни одно из других представлений не появляется?
Спасибо!