如何在android运行时在水平scoll视图中添加多个布局?
我正在开发一个应用程序,在其中接收json数组中的json对象。每个json对象包含一个图像和两个字符串。现在我想在如何在android运行时在水平scoll视图中添加多个布局?,android,scrollview,Android,Scrollview,我正在开发一个应用程序,在其中接收json数组中的json对象。每个json对象包含一个图像和两个字符串。现在我想在水平滚动视图中显示每个json对象的数据,也就是说,如果有10个json对象,那么我必须在水平滚动视图中显示10个布局(一个图像和两个文本视图) 我尝试的是,我创建了一个布局,其中有一个ImageView和两个TextView,并在视图对象中扩展该布局。现在在运行时,我将LinearLayout(水平)中的视图对象添加到json数组的长度中,该视图对象位于HorizontalScr
水平滚动视图中显示每个json对象的数据,也就是说,如果有10个json对象,那么我必须在水平滚动视图中显示10个布局(一个图像和两个文本视图)
我尝试的是,我创建了一个布局,其中有一个ImageView
和两个TextView
,并在视图对象中扩展该布局。现在在运行时,我将LinearLayout
(水平)中的视图对象添加到json数组的长度中,该视图对象位于HorizontalScrollView
中,但它给了我一个错误
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
谁能告诉我解决这个问题的办法吗
这是我的密码
Linear layout ll_hori_scroll = (ViewGroup)findViewById(R.id.ll_hori_scroll);//layout in horizontal scroll view
View v = View.inflate(_activity, R.layout.list_item_recentlyadd_home, null);//custom layout
for (int i = 0; i < 2; i++) {
ll_hori_scroll.addView(v);
}
Linear layout ll_hori_scroll=(视图组)findviewbyd(R.id.ll_hori_scroll)//水平滚动视图中的布局
视图v=视图。充气(\u活动,R.layout.list\u项目\u最近添加\u主页,空)//自定义布局
对于(int i=0;i<2;i++){
ll_hori_scroll.addView(v);
}
及其在ll_hori_scroll.addView(v)中的给定错误代码>Scrollview只允许一个子级,因此您必须将子布局添加到Scrollview的子级
像这样
<ScrollView
<LinearLayout
/// you can add layout's here at dynamic
</LinearLayout>
</ScrollView>
添加视图必须添加“独立对象”,您只需将相同的“列表项最近添加到主页”添加到水平滚动两次
代码应如下所示:
Linear layout ll_hori_scroll = (ViewGroup)findViewById(R.id.ll_hori_scroll);//layout in horizontal scroll view
for (int i = 0; i < 2; i++) {
//move below line from outside into for loop
View v = View.inflate(_activity, R.layout.list_item_recentlyadd_home, null);
ll_hori_scroll.addView(v);
//if you wants to use this view later, you can add the tag for your view
v.setTag(i); // v.getTag() can get their position
}
Linear layout ll_hori_scroll=(视图组)findviewbyd(R.id.ll_hori_scroll)//水平滚动视图中的布局
对于(int i=0;i<2;i++){
//从外部移动到for循环线下方
视图v=视图。充气(\u活动,R.layout.list\u项目\u最近添加\u主页,空);
ll_hori_scroll.addView(v);
//如果以后要使用此视图,可以为视图添加标记
v、 setTag(i);//v.getTag()可以获取它们的位置
}
希望它能帮助你^^ 这是我的滚动视图线性布局ll_hori_scroll=(视图组)findviewbyd(R.id.ll_hori_scroll)//水平滚动视图中的布局v=视图。充气(\u活动,R.layout.list\u项目\u最近添加的\u主页,空)//(inti=0;i<2;i++){ll_hori_scroll.addView(v);}的自定义布局您可以清楚地发布您的代码并记录有问题的cat。告诉我错误线在哪里。