두 레이아웃을 자주 전환해야합니다. 아래 게시 된 레이아웃에서 오류가 발생했습니다.
내 레이아웃을 처음 호출하면 오류가 발생하지 않으며 모든 것이 정상입니다. 그런 다음 다른 레이아웃 (공백 레이아웃)을 호출하고 나중에 내 레이아웃을 다시 호출하면 다음 오류가 발생합니다.
> FATAL EXCEPTION: main
> java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
내 레이아웃 코드는 다음과 같습니다.
tv = new TextView(getApplicationContext()); // are initialized somewhere else
et = new EditText(getApplicationContext()); // in the code
private void ConsoleWindow(){
runOnUiThread(new Runnable(){
@Override
public void run(){
// MY LAYOUT:
setContentView(R.layout.activity_console);
// LINEAR LAYOUT
LinearLayout layout=new LinearLayout(getApplicationContext());
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
// TEXTVIEW
layout.addView(tv); // <========== ERROR IN THIS LINE DURING 2ND RUN
// EDITTEXT
et.setHint("Enter Command");
layout.addView(et);
}
}
}
나는이 질문이 전에 요청되었음을 알고 있지만 내 경우에는 도움이되지 않았습니다.
LinearLayout
하지만 추가한다고 가정 해 봅시다TextView
. 그래서 고치세요.