Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android RemoteViews addView仅显示第一个视图_Android_Widget - Fatal编程技术网

Android RemoteViews addView仅显示第一个视图

Android RemoteViews addView仅显示第一个视图,android,widget,Android,Widget,我看过好几篇关于这一点的帖子,但没有找到我所经历的问题的答案。我在一个主屏幕小部件中动态地填充一个线性布局,其中包含RelativeLayout视图,但只显示第一个子视图。调试显示正在创建和添加多个视图,但它们不会出现。代码如下: RemoteViews views = new RemoteViews(getPackageName(), R.layout.widget); Cursor statuses_styles = getContentResolver().query(Uri.withAp

我看过好几篇关于这一点的帖子,但没有找到我所经历的问题的答案。我在一个主屏幕小部件中动态地填充一个线性布局,其中包含RelativeLayout视图,但只显示第一个子视图。调试显示正在创建和添加多个视图,但它们不会出现。代码如下:

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);
RemoteViews-views=新的远程视图(getPackageName(),R.layout.widget);
游标状态_styles=getContentResolver().query(Uri.withAppendedPath(statuses_styles.CONTENT_Uri,小部件),新字符串[]{…},null,null,statuses_styles.CREATED+“DESC LIMIT”+page+,-1”);
Log.d(标记“statuses count:+statuses_styles.getCount());
if(status\u styles.moveToFirst()){
int count_status=0;
视图。移除所有视图(R.id.messages);
而(!status_styles.isAfterLast()&&(count_status<16)){
远程视图项目视图;
itemView=新的远程视图(getPackageName(),R.layout.widget\u项);
itemView.setTextViewText(R.id.message,status_styles.getString(1));
setFloat(R.id.message,“setTextSize”,friend\u textsize);
Log.d(标记“添加视图:”+statuses_styles.getString(1));
views.addView(R.id.messages,itemView);
计数状态++;
status_styles.moveToNext();
}
}
statuses_styles.close();
经理UpdateAppWidgetId(appWidgetId,视图);
小部件只是一个id为“messages”的线性布局。它设置为填充父对象的宽度和高度,并将“方向”设置为“垂直”

小部件项是包含一些文本和图像视图的相对布局

小部件是4x4

你知道为什么没有其他观点出现吗


谢谢

要添加的视图的子视图具有属性layout\u alignParentBottom=“true”,这导致它填充整个父视图,阻止任何其他子视图。删除该属性可以显示其他子项。

如果有人正在阅读此内容,并且面临将一组视图膨胀为线性布局的问题,而线性布局是xml的一部分,并且是其他地方的xml的一部分 只看到第一个膨胀的布局,但不知道为什么

我的错误是,我创建了一个扩展LinearLayout的视图类,但是 没有在xml内部将方向设置为垂直,其中 实际上使用了视图-因此添加了视图,但为水平视图

希望,这对任何人都有帮助

例如:

myLayout.orientation = LinearLayout.VERTICAL

我遇到了一个类似的问题,其中包含要添加的视图的LinearLayout具有属性layout\u height=“match\u parent”,导致了相同的问题。