2012-02-28 11 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); 

ウィジェットは、単に「メッセージ」というIDのLinearLayoutです。幅と高さがfill_parentに設定され、垂直方向にorienationが設定されています。

ウィジェットアイテムは、テキストビューとイメージビューを含む相対レイアウトです。

ウィジェットは4x4です。

他のビューが表示されない理由はありますか?

ありがとうございます!

答えて

1

追加されるビューの子には、layout_alignParentBottom = "true"という属性があり、親全体を塗りつぶし、追加の子をブロックしました。属性を削除すると、他の子が表示されました。

0

誰かがこれを読んでいて、線のレイアウトにたくさんのビューを膨らませるという問題に直面しています。これはXMLの一部であり、 は最初の膨らんだレイアウトしか見ませんが、理由は分かりません。

私のせいで、私はのLinearLayoutを拡張するViewクラスを作成したこと、でしたが、私は実際にビューを使用 どこ は、XMLの垂直内側に向きを設定していない - ので景色はどこ追加しましたが、horiztonal。

希望すると、これは誰にでも役立ちます。

関連する問題