私はこのことについていくつかの投稿を見てきましたが、私が経験している問題に対する答えは見つかりませんでした。私は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です。
他のビューが表示されない理由はありますか?
ありがとうございます!