2012-02-28 80 views
1

我已經看過幾篇文章,但沒有找到我正在遇到的問題的答案。我使用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。

任何想法爲什麼沒有其他意見出現?

謝謝!

回答

1

要添加的視圖的子項具有屬性layout_alignParentBottom =「true」,這導致它填充整個父項,從而阻止任何其他子項。刪除該屬性允許其他孩子出現。

0

如果有人正在閱讀本文,並且面臨將一堆視圖膨脹爲線性佈局(這是其他地方的xml的一部分)的問題,並且只會看到第一個膨脹的佈局,但不知道爲什麼。

我錯了,我創建擴展的LinearLayout視圖類,但 沒有設置定向到XML,在這裏我 實際使用的視圖的垂直裏面 - 那麼,加的觀點,但horiztonal。

希望,這可以幫助任何人。

相關問題