這是我的佈局xml文件:編輯觀點編程中的LinearLayout
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/container1"
android:tag="1"
//... >
<TextView
android:id="@+id/txt1"
android:tag="1"
//... />
</LinearLayout>
<LinearLayout
android:id="@+id/container2"
android:tag="2"
//... >
<TextView
android:id="@+id/txt2"
android:tag="2"
//... />
</LinearLayout>
//...
它有2個集裝箱,每個人裏面一個TextView的。現在,當我觸摸一個按鈕時,我需要容器來交換文本。爲了得到這個,這是我的方法:
person1 = (TextView) findViewById(R.id.txt1);
person2 = (TextView) findViewById(R.id.txt2);
place1 = (LinearLayout) findViewById(R.id.place1);
place2 = (LinearLayout) findViewById(R.id.place2);
-
place1.removeView(person1);
place2.removeView(person2);
place1.addView(person2);
place2.addView(person1);
,但是這是我得到的logcat的:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
偉大的解決方案。 –
@BhaveshJethani謝謝! – CodeWarrior
嗯,不得不說,我真正在做的是使用拖放移動一個textview到另一個佈局,所以我正在做的是試圖找到方法來獲取其他textview到第一個佈局,這是,交流展位。因此,更改名稱不是一個選項 – masmic