Java 如何在android上添加行
我按照教程从添加行,但我面临的问题,我得到的问题,当我试图添加视图。。。这是我的代码:Java 如何在android上添加行,java,android,view,row,Java,Android,View,Row,我按照教程从添加行,但我面临的问题,我得到的问题,当我试图添加视图。。。这是我的代码: add_sumber_pp=(ImageView)findViewById(R.id.add_sumber_pp); add_sumber_pp.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { TableLayout tabl
add_sumber_pp=(ImageView)findViewById(R.id.add_sumber_pp);
add_sumber_pp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
TableLayout tablelayout_penghasilan_pp=(TableLayout)findViewById(R.id.tablelayout_penghasilan_pp);
TableRow tabel_penghasilan_pp=(TableRow)findViewById(R.id.tabel_penghasilan_pp);
counter++;
TextView adapter_no_dana=(TextView)findViewById(R.id.adapter_no_dana);
TextView adapter_jenis_dana=(TextView)findViewById(R.id.adapter_jenis_dana);
TextView adapter_jelaskan_dana=(TextView)findViewById(R.id.adapter_jelaskan_dana);
ImageView add_pp=(ImageView)findViewById(R.id.add_pp);
ImageView remove_pp=(ImageView)findViewById(R.id.remove_pp);
adapter_no_dana.setText("anak "+counter);
if(v != null)
{
ViewGroup parentViewGroup = (ViewGroup) v.getParent();
if (parentViewGroup != null) {
parentViewGroup.removeAllViews();
}
}
tabel_penghasilan_pp.addView(adapter_no_dana);
tabel_penghasilan_pp.addView(adapter_jenis_dana);
tabel_penghasilan_pp.addView(adapter_jelaskan_dana);
tabel_penghasilan_pp.addView(add_pp);
tabel_penghasilan_pp.addView(remove_pp);
}
});
这是我的日志:
11-11 11:39:29.944: E/AndroidRuntime(19016): FATAL EXCEPTION: main
11-11 11:39:29.944: E/AndroidRuntime(19016): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.view.ViewGroup.addViewInner(ViewGroup.java:3389)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.view.ViewGroup.addView(ViewGroup.java:3260)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.view.ViewGroup.addView(ViewGroup.java:3205)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.view.ViewGroup.addView(ViewGroup.java:3181)
11-11 11:39:29.944: E/AndroidRuntime(19016): at id.co.ajsmsig.formspaj.Pemegang_polis$6.onClick(Pemegang_polis.java:308)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.view.View.performClick(View.java:4222)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.view.View$PerformClick.run(View.java:17337)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.os.Handler.handleCallback(Handler.java:615)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.os.Handler.dispatchMessage(Handler.java:92)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.os.Looper.loop(Looper.java:137)
11-11 11:39:29.944: E/AndroidRuntime(19016): at android.app.ActivityThread.main(ActivityThread.java:4895)
11-11 11:39:29.944: E/AndroidRuntime(19016): at java.lang.reflect.Method.invokeNative(Native Method)
11-11 11:39:29.944: E/AndroidRuntime(19016): at java.lang.reflect.Method.invoke(Method.java:511)
11-11 11:39:29.944: E/AndroidRuntime(19016): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
11-11 11:39:29.944: E/AndroidRuntime(19016): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
11-11 11:39:29.944: E/AndroidRuntime(19016): at dalvik.system.NativeStart.main(Native Method)
这是我的布局:
我不知道哪里是我的错。。我希望有人能帮我解决问题。对不起,
这些观点
TextView adapter_no_dana=(TextView)findViewById(R.id.adapter_no_dana);
TextView adapter_jenis_dana=(TextView)findViewById(R.id.adapter_jenis_dana);
TextView adapter_jelaskan_dana=(TextView)findViewById(R.id.adapter_jelaskan_dana);
是另一布局/父级的子级,这就是问题所在
如果要动态添加它们,则需要根据需要进行更改
TextView adapter_no_dana=new TestView(context);
TextView adapter_jenis_dana=new TestView(context);
TextView adapter_jelaskan_dana=new TestView(context);
在更新视图之前添加以下行
tablelayout_penghasilan_pp.removeAllViews();
是的,如果您想动态添加,您应该在代码中更新它
TextView adapter_no_dana=new TestView(context);
TextView adapter_jenis_dana=new TestView(context);
TextView adapter_jelaskan_dana=new TestView(context);
希望对您有所帮助。此处上下文指您的活动上下文(您的活动名称。此)