Я создаю новое приложение для Android. Я использую макет таблицы.Я закодировал как следовать, но когда я запускаю программу, это показывает силу, чтобы закрыть программу.Может ли кто-нибудь помочь с этим кодом.
public class SongsActivity extends Activity{
DemoView demoview ;
DemoView2 finalview;
DemoView3 dview;
DemoView4 deview;
ViewFlipper c ;
TableLayout d;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.songs_layout);
demoview = new DemoView(this);
finalview = new DemoView2(this);
dview= new DemoView3(this);
deview = new DemoView4(this);
d= new TableLayout(this);
c=(ViewFlipper)findViewById(R.id.viewFlipper1);
c.addView(demoview,0);
c.addView(finalview, 1);
c.addView(dview, 2);
c.addView(deview, 3);
c.setAutoStart(true);
c.setFlipInterval(500);
c.startFlipping();
TableRow rw1=new TableRow(this);
TableRow rw2=new TableRow(this);
TableRow.LayoutParams params = new TableRow.LayoutParams();
params.span = 6;
rw1.addView(c);
rw2.addView(c);
d.addView(rw2);
d.addView(rw1);
setContentView(d);
}
мой макет определяется следующим образом
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
<TableRow
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tableRow1">
<!-- Screen Design for the SONGS -->
<ViewFlipper android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ViewFlipper>
</TableRow>
<TableRow
android:orientation="vertical"
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TableRow>
</TableLayout>
мой logcat показывает следующую ошибку
03-24 14:33:50.722: E/AndroidRuntime(322): FATAL EXCEPTION: main
03-24 14:33:50.722: E/AndroidRuntime(322): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.androidtablayout/com.example.androidtablayout.SongsActivity}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
03-24 14:33:50.722: E/AndroidRuntime(322): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2503)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:651)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.widget.TabHost.setCurrentTab(TabHost.java:323)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:129)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:453)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.view.View.performClick(View.java:2408)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.view.View$PerformClick.run(View.java:8816)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.os.Handler.handleCallback(Handler.java:587)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.os.Handler.dispatchMessage(Handler.java:92)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.os.Looper.loop(Looper.java:123)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.app.ActivityThread.main(ActivityThread.java:4627)
03-24 14:33:50.722: E/AndroidRuntime(322): at java.lang.reflect.Method.invokeNative(Native Method)
03-24 14:33:50.722: E/AndroidRuntime(322): at java.lang.reflect.Method.invoke(Method.java:521)
03-24 14:33:50.722: E/AndroidRuntime(322): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-24 14:33:50.722: E/AndroidRuntime(322): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-24 14:33:50.722: E/AndroidRuntime(322): at dalvik.system.NativeStart.main(Native Method)
03-24 14:33:50.722: E/AndroidRuntime(322): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
03-24 14:33:50.722: E/AndroidRuntime(322): at android.view.ViewGroup.addViewInner(ViewGroup.java:1970)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.view.ViewGroup.addView(ViewGroup.java:1865)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.view.ViewGroup.addView(ViewGroup.java:1822)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.view.ViewGroup.addView(ViewGroup.java:1802)
03-24 14:33:50.722: E/AndroidRuntime(322): at com.example.androidtablayout.SongsActivity.onCreate(SongsActivity.java:51)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-24 14:33:50.722: E/AndroidRuntime(322): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
03-24 14:33:50.722: E/AndroidRuntime(322): ... 18 more