Android替换view父节点,android – issue:指定的子节点已经有父节点.您必须首先在孩子的父母上调用removeView()...
我开发应用程序以将动态数据添加到多个表视图.结构如下.
我在onPostExecute中的代码是:
protected void onPostExecute(List results){
int ind,i = 0;
ScrollView sv=null;
TableLayout tl=null;
TableRow tr = null;
int mjsonlength=results.size();
if(results!=null){
TableLayout indextl=(TableLayout)findViewById(R.id.indextablelayout);
TableRow indextr=new TableRow(SubProducts.this);
//indext1.moveToFirst();
LinearLayout llt=(LinearLayout)findViewById(R.id.alltablell);
//for(int f=0;f
for( ind=0;ind
{
TextView indextv=new TextView(SubProducts.this);
indextv.setBackgroundResource(R.drawable.greenbg);
indextv.setHeight(25);
indextv.setWidth(50);
indextv.setId(6);
indextv.setTextColor(Color.WHITE);
indextv.setText(indextitle.get(ind));
indextv.setPadding(20,10,6,3);
indextr.addView(indextv);
indextl.addView(indextr,6);
sv=new ScrollView(SubProducts.this);
tl=new TableLayout(SubProducts.this);
for( i=0;i
tr=new TableRow(SubProducts.this);
if(ind==i) {
RelativeLayout rl=new RelativeLayout(SubProducts.this);
Resources res = getResources(); //resource handle
rl.setBackgroundResource(R.drawable.prd_box);
RelativeLayout.LayoutParams newParams1 = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
image=new ImageView(SubProducts.this);
image.setLayoutParams(newParams1);
image.setId(1);
image.setImageBitmap(bmp);
image.setPadding(5, 20, 5, 5);
rl.addView(image,1);
RelativeLayout.LayoutParams lprams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lprams.addRule(RelativeLayout.RIGHT_OF, 1);
TextView tv1=new TextView(SubProducts.this);
Spanned marked_up = Html.fromHtml(description.get(i));
tv1.setText((marked_up.toString()).substring(1, 170).replaceAll(" ",""));
tv1.setLayoutParams(lprams);
tv1.setId(2);
tv1.setHeight(150);
tv1.setWidth(130);
tv1.setPadding(20, 10, 0, 10);
rl.addView(tv1,2);
RelativeLayout.LayoutParams newParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
newParams.addRule(RelativeLayout.BELOW, 2);
TextView tv=new TextView(SubProducts.this);
tv.setText(productname.get(i));
tv.setLayoutParams(newParams);
tv.setTextColor(Color.WHITE);
tv.setId(3);
tv.setPadding(10, 0, 0, 10);
rl.addView(tv,3);
tr.addView(rl);
tr.setPadding(5, 10, 5, 10);
}
tl.addView(tr);
}
sv.addView(tl);
llt.addView(sv);
}
}
}
我得到的错误如下:
03-16 06:27:07.452: E/AndroidRuntime(7233): FATAL EXCEPTION: main
03-16 06:27:07.452: E/AndroidRuntime(7233): java.lang.IllegalStateException: The 03-16 06:27:07.452: E/AndroidRuntime(7233): FATAL EXCEPTION: main
03-16 06:27:07.452: E/AndroidRuntime(7233): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.view.ViewGroup.addViewInner(ViewGroup.java:3339)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.view.ViewGroup.addView(ViewGroup.java:3210)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.widget.TableLayout.addView(TableLayout.java:429)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.view.ViewGroup.addView(ViewGroup.java:3155)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.widget.TableLayout.addView(TableLayout.java:411)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.view.ViewGroup.addView(ViewGroup.java:3131)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.widget.TableLayout.addView(TableLayout.java:402)
03-16 06:27:07.452: E/AndroidRuntime(7233): at com.example.nutritionplusapp.SubProducts$LongRunningGetIO1.onPostExecute(SubProducts.java:227)
03-16 06:27:07.452: E/AndroidRuntime(7233): at com.example.nutritionplusapp.SubProducts$LongRunningGetIO1.onPostExecute(SubProducts.java:1)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.os.AsyncTask.finish(AsyncTask.java:631)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.os.AsyncTask.access$600(AsyncTask.java:177)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.os.Handler.dispatchMessage(Handler.java:99)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.os.Looper.loop(Looper.java:137)
03-16 06:27:07.452: E/AndroidRuntime(7233): at android.app.ActivityThread.main(ActivityThread.java:5041)
03-16 06:27:07.452: E/AndroidRuntime(7233): at java.lang.reflect.Method.invokeNative(Native Method)
03-16 06:27:07.452: E/AndroidRuntime(7233): at java.lang.reflect.Method.invoke(Method.java:511)
03-16 06:27:07.452: E/AndroidRuntime(7233): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-16 06:27:07.452: E/AndroidRuntime(7233): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-16 06:27:07.452: E/AndroidRuntime(7233): at dalvik.system.NativeStart.main(Native Method)
03-16 06:32:07.586: I/Process(7233): Sending signal. PID: 7233 SIG: 9
03-16 06:32:08.522: E/Trace(7355): error opening trace file: No such file or directory (2)
循环变量值对于两个循环都应该相同Inorder获取相应产品的子产品.我正在与上述错误作斗争.任何有想法的人.Plz建议我适当的解决方案.谢谢提前.
编辑:
ArrayList productname=new ArrayList();
ArrayList description=new ArrayList();
ArrayList indextitle=new ArrayList();
ArrayList mStrings = new ArrayList();
在doINBackground下:
JSONObject json = array.getJSONObject(i);
manJson = json.getJSONObject("product");
mStrings.add(manJson.getString("productimage"));
productname.add(manJson.getString("productname"));
indextitle.add(manJson.getString("subcategoryid"));
description.add(manJson.getString("description"));
Android替换view父节点,android – issue:指定的子节点已经有父节点.您必须首先在孩子的父母上调用removeView()...相关推荐
- Android替换view父节点,android – issue:指定的子节点已经有父节点.您必须首先在孩子的父母上调用removeView()...
我开发应用程序以将动态数据添加到多个表视图.结构如下. 我在onPostExecute中的代码是: protected void onPostExecute(List results){ int in ...
- android自定义view生命周期,android基础之自定义view
一.Custom View 1.view的继承关系 view继承关系.png 2.Android 如何绘制试图层次 当activity获取焦点时,它必须提供layout层次的根节点,然后android ...
- android自定义view实现原理,android随笔之自定义View基本原理
前言: 在日常的Android开发中会经常和控件打交道,有时Android提供的控件未必能满足业务的需求,这个时候就需要我们实现自定义一些控件,今天先大致了解一下自定义控件的要求和实现的基本原理. 自 ...
- android 自定义view 硬件加速,Android自定义View(八) -- 硬件加速
Android自定义View(八) – 硬件加速 今天学习自定义View部分的最有一篇:硬件加速因为无法录制GIF,所以本篇内容基本为原博 本文计划根据HenCoder系列文章进行学习,所以代码风格及 ...
- android 自定义view画表格,Android自定义View实现课程表表格
自己闲下来时间写的一个课表控件,使用的自定义LinearLayout,里面View都是用代码实现的,最终效果如下图,写的可能有问题希望多多指点 创建一个自定义LinearLayout 控件用来装载课程 ...
- android动画view上移,在Android开发中使用View制作一个引导动画
在Android开发中使用View制作一个引导动画 发布时间:2020-11-20 16:46:16 来源:亿速云 阅读:98 作者:Leah 这篇文章将为大家详细讲解有关在Android开发中使用V ...
- android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画
效果: 需要知识: 1. 二次贝塞尔曲线 2. 动画知识 3. 基础自定义view知识 先来解释下什么叫阻尼运动 阻尼振动是指,由于振动系统受到摩擦和介质阻力或其他能耗而使振幅随时间逐渐衰减的振动,又 ...
- android 自定义view局部刷新,Android 优化之局部刷新
RecyclerView 局部刷新 相信现在已经很少人不用 RecyclerView 了,如果只有一个 item 的数据源改变的时候,大家都会用 notifyItemChanged(int posit ...
- android view父级隐藏,Android指定的子级已经有父级。必须先对子级的父级调用removeView()...
在我的应用中,我必须经常在两种布局之间切换.错误在下面发布的布局中发生. 第一次调用布局时,没有发生任何错误,一切都很好.然后,当我调用不同的布局(空白),然后再次调用我的布局时,出现以下错误: &g ...
最新文章
- KDD 2019高维稀疏数据上的深度学习Workshop论文汇总
- python变量域名_Python实现从url中提取域名的几种方法
- 异构网络垂直切换算法LTE/WIMAX切换
- 2020-12-6(从反汇编理解指针和引用的区别)
- leetCode第五题-求字符串最长回文字符串
- JavaScript函数实现方式大总结
- 如何将本地python项目部署到服务器上_如何将本地的Django项目部署到云服务器
- prototype.js 和jquery-1.6.2.js冲突问题解决方法
- 那个成人总会遇到的小问题……
- [渝粤教育] 潍坊职业学院 化工安全技术 参考 资料
- VC 忽略警告的方法
- python 欠采样_数据科学家需要了解的 5 种采样方法
- 亿铸科技完成过亿元天使轮融资 指数资本担任独家财务顾问
- 账户注销完自动登录账户,并且不需要再点击屏幕的账户头像
- 企业引进HRM系统需要规避的五大误区
- 从哪查找当前程序所有可用的环境变量?
- Web前端:一些用于Web开发的最佳精选IDE和代码编辑器
- 基于抛物线过渡(梯形加减速)的空间直线插补算法与空间圆弧插补算法(Matlab)
- windows系统上安装.cab文件
- 同比与环比——财务小知识点
热门文章
- RxJava 操作符 do
- 微信小程序 在使用wx.request时显示加载中
- 运行在CentOS7.5上的Django项目时间不正确问题
- 学习动力之“学习金字塔 (爱德加•戴尔)”理论
- FreeMarker中的list集合前后台代码
- nodejs文件上传报错总结
- Hadoop学习笔记一 简要介绍
- 曙光服务器bios设置_浪潮服务器PM8060阵列卡,如何做热备盘?操作相对有点复杂...
- 华为云服务器默认密码怎么修改,云服务器怎么修改登录密码
- c语言le后能跟变量吗,【C语言】C语言常量和变量