我已經看過幾篇文章,但沒有找到我正在遇到的問題的答案。我使用RelativeLayout視圖動態填充主屏幕小部件中的LinearLayout,但只顯示第一個子視圖。調試顯示正在創建和添加多個視圖,但它們不顯示。代碼如下: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);
該控件只是一個帶有「messages」標識的LinearLayout。它的寬度和高度設置爲fill_parent,並將方向設置爲垂直。
小部件項目是包含一些文本和圖像視圖的相對佈局。
該小部件是一個4x4。
任何想法爲什麼沒有其他意見出現?
謝謝!