Tôi phải chuyển đổi giữa hai bố trí thường xuyên. Các lỗi đang xảy ra trong bố trí được đăng dưới đây.
Khi bố cục của tôi được gọi lần đầu tiên, sẽ không xảy ra bất kỳ lỗi nào và mọi thứ đều ổn. Sau đó, khi tôi gọi một bố cục khác (một ô trống) và sau đó gọi bố cục của tôi lần thứ hai, nó sẽ đưa ra lỗi sau:
> FATAL EXCEPTION: main
> java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
Mã bố cục của tôi trông như thế này:
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);
}
}
}
Tôi biết câu hỏi này đã được hỏi trước đây, nhưng nó không giúp ích gì trong trường hợp của tôi.
TranstitionManager.beginDelayedTransition
, vui lòng kiểm tra câu trả lời
LinearLayout
nhưng bạn thêmTextView
. Vì vậy, sửa chữa nó.